Dear all,<br>
<br>
    I am trying to remove some instanceof tests from bc code that is produced by vmkit. For instance:<br><br>
1 if (o instanceof String) {<br>
2   String s = (String)o;<br>
3 }<br><br>
Vmkit seems to be inserting two tests into the bc code: one for the
test in line 1, and another, implicit, that would lunch perhaps
JavaClassCastException if the cast fails at runtime.<br>
   Would it be possible for some of you guys more familiar with vmkit
to explain me how it produces code for these casts and tests? I have
separated two CFG's. The first <a href="http://www2.dcc.ufmg.br/laboratorios/llp/wiki/lib/exe/fetch.php?media=cfg_for_j2_.pdf">here</a> is for the program below:<br>
<br>
public class J2 {<br>
  Object o = new String; 
 <br>
}<br>
<br>
The second <a href="http://www2.dcc.ufmg.br/laboratorios/llp/wiki/lib/exe/fetch.php?media=cfg_for_j1.pdf">CFG here</a> is for the same program, without the cast:<br>
<br>
public class J1 {<br>
  Object o = new String;<br> String s = (String)o;<br>
}<br>
<br>
Could some of you give me an idea of how the extra code would look
like? It seems that the CFG's are a bit big for such small programs.<br>
<br>
All the best,<br><font color="#888888">
Alysson<br>
</font>