[Soot-list] how to make sure my internalTransform is executed at the very end

Eric Bodden eric.bodden at uni-paderborn.de
Sat Jan 19 04:44:34 EST 2019


Hi Ishaq.


You will need to identify the appropriate pack in Soot that applies this optimization and then disable it, through the appropriate options. To me this look like a constant propagator.


Cheers

Eric


--
Sent from my mobile
________________________________
Von: Ishaq <ishaq at ishaq.pk>
Gesendet: Freitag, 18. Januar 2019 17:39
An: soot-list at cs.mcgill.ca
Betreff: [Soot-list] how to make sure my internalTransform is executed at the very end 

Hello,

My code essentially constructs def use chains (I store the Stmt/Unit objects in a map). However, once the internalTransform has finished running, some of them become null e.g. an IfStmt whose condition was "i23_1 >= 100", now looks has "0 >= 100" and it's target is now null.

I am assuming this happens because Soot optimizes away the unnecessary variables (e.g. in the above case, it figured out that i23_1 was always going to be 0 and hence, there was no need for conditional jump).

Problem is that I need my def-use chains to be constructed from the final optimized soot shimple so that it remains valid when I use it later.

How do I ensure that my internalTransform is executed after Soot has made all its changes to the code?

Thanks.
--
MI
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20190119/ce5851d4/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 2302 bytes
Desc: not available
URL: <https://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20190119/ce5851d4/attachment.bin>


More information about the Soot-list mailing list