[Soot-list] Body Transformation

Will Benton willb at cs.wisc.edu
Sun Jan 18 08:55:09 EST 2009


Hi Amir,

I'm sorry if was unclear.  As far as I know, what you want to do is  
not implemented in Soot.  Busy code motion and lazy code motion are  
classic compiler transformations; you can read about them in a good  
textbook (like Muchnick's _Advanced Compiler Design and  
Implementation_).  My point is that the problem you want to solve has  
a name and you may be able to get some insights into how to implement  
a solution by reading about these other techniques.



best,
wb

On Jan 18, 2009, at 12:13 AM, Amir Mehrabi wrote:

>
> Hi
>
> I want to move INVOKE statement to Up and use the result of this  
> invoke
> move down.If the "Lazy Code Motion" and "Busy Code Motion" do this,  
> what
> can i find some tutorial about "lazy code motion and busy Code motion"
> because there is no good document in soot about these feature.
>
> thanks
>
>
> -----Original Message-----
> From: Will Benton <willb at cs.wisc.edu>
> To: Amir Mehrabi <mehrabi at comp.iust.ac.ir>
> Cc: "soot-list at sable.mcgill.ca" <soot-list at sable.mcgill.ca>
> Date: Sat, 17 Jan 2009 08:17:58 -0500
> Subject: Re: [Soot-list] Body Transformation
>
>> You want "busy code motion" and "lazy code motion" to solve both  
>> parts
>> of the problem, if I'm understanding you correctly.
>>
>>
>>
>> On Jan 17, 2009, at 4:25 AM, "Amir Mehrabi" <mehrabi at comp.iust.ac.ir>
>> wrote:
>>
>>> Hi
>>>
>>> I want to transform a body of method that
>>> every invoke expression move up
>>> and every use of result of these invokes move down
>>> for example:
>>>
>>> void foo(int a){
>>> ...
>>> ...
>>> x=B.INVOKE(A,B);
>>> Y=x
>>> ...
>>> ...
>>> ...
>>> return
>>> }
>>>
>>> i want to transform these method to:
>>>
>>> void foo(int a){
>>> ...
>>> x=B.INVOKE(A,B);
>>> ...
>>> ...
>>> ...
>>> Y=x
>>> return
>>> }
>>>
>>> In soot i fine a class with name DelayabilityAnalysis but there is
>>> no good
>>> document about it . I think its a good for my work (Maybe)
>>> does any want any idea to how can i do this work with SOOT?
>>>
>>> Thanks
>>> Amir Mehrabi J.
>>>
>>>
>>> _______________________________________________
>>> Soot-list mailing list
>>> Soot-list at sable.mcgill.ca
>>> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>>
>
>
>
>

---
Will Benton <willb at cs.wisc.edu>
http://pages.cs.wisc.edu/~willb/



More information about the Soot-list mailing list