Hello,<br><br>I am modifying the HotSpot compiler to replace some of the calls by simply sequence of machine instructions.&nbsp; An example would be like:<br><br>Replacing:<br>=== ORIGINAL CODE ===<br>v=foo();<br>if (v) {...}<br>
=== ORIGINAL CODE ===<br><br>By:<br>=== TRANSFORMED CODE ===<br>&lt;NEW MACHINE INSTR&gt;<br>v=true;<br>if(v) {...}<br>=== TRANSFORMED CODE ===<br><br>To do this, I think I need to update the architecture description file to define &lt;NEW MACHINE INSTR&gt; and then it seems I have two choices:<br>
<ol><li>Before emitting machine code, replace the MachCallJavaNode for foo() by two nodes corresponding to &lt;NEW MACHINE INSTR&gt; and &quot;v=true&quot;.</li><li>Change code emit function for the Java static call code to emit code for &lt;NEW MACHINE INSTR&gt; and &quot;v=true&quot; instead of emitting Java static call instructions.</li>
</ol>Since I am new to the HotSpot compiler, I would like to seek advice from you all which is a better way to do the job and what are the issues involved (e.g. making sure the change does not break garbage map, etc).<br>
<br>Any helps and suggestions are appreciated.<br><br>Thanks.<br><br>David<br><br><br>