[Soot-list] redundant unconditional goto

shmohtasham at gmail.com shmohtasham at gmail.com
Wed Jun 10 02:45:17 EDT 2009


Hi,

I noticed that there are redundant unconditional "goto"  statements  
generated in Jimple code for conditionals. For instance, for the  
following Java code:

if(condition())
	f();

g();


the Jimple code looks something like:

temp$1 = virtualinvoke this.<Example: boolean condition()>();
if temp$1 == 0 goto label1;

goto label0;

label0:
virtualinvoke this.<Example: void f()>();

label1:
virtualinvoke this.<Example: void g()>();


In the above Jimple code, the "goto label0;" is redundant. I was  
wondering if there is any special reason that these goto's are  
generated. Although they do not change the semantics of the programs,  
they interfere with some analysis I'm running.

Thanks

--Hossein
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20090609/e93fe303/attachment.html 


More information about the Soot-list mailing list