[Soot-list] New variables added to chain overlap the original ones

Cristina Ilie crysgirlro at yahoo.com
Tue May 22 09:32:08 EDT 2012


Hello,

My tool which uses soot introduces sometimes new definitions of new variables in the derivLocalsChain. The problem 

is that some new variables overlap with the existing ones. This occurs when I output directly bytecode...

For example here [1] the IntLinkedStack object overlap on the fifth position with another DerivType object which was in
the original code (actually the DerivType was a double but it existed in the original code! I only change the type to
double and float - doesn't matter this idea...I just exapained).

The new object introduced by me is an IntLinkedStack object and I add it through "derivLocalsChain.add(intStackLocal);" 

where intStackLocal is a JimpleLocal.

I tried also to build the initalization stmt by adding the <init> method (I loaded the  IntLinkedStack class) and 

after this the SpecialInvoke stmt. But the result is the same... How to avoid this overlapping of variables?


Cristina 


[1]9  new IntLinkedStack [46]
     12  dup
     13  invokespecial IntLinkedStack() [42]
     16  astore 5
     18  new DerivType [26]
     21  dup
     22  invokespecial DerivType() [3]
     25  astore 5
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20120522/c3d6e746/attachment.html 


More information about the Soot-list mailing list