[Soot-list] Wrong jimple code
Zeinab Lashkaripour
lashkaripour at yahoo.com
Sun Jun 23 08:09:21 EDT 2013
Thanks for your reply Marc-André,
> Are you putting the virtual invoke in an assign statement?
These jimples are generated by Soot.
Previously they were in the form of "temp$29 = vir....." therefore I got the results as I wanted but, now they are in the form of :
virtualinvoke temp$29.<java.lang.StringBuffer: java.lang.StringBuffer>append(java.lang.Object)>("value1")
Maybe this is a sort of optimization as you said but, I don't want to have such an optimization.
Is there a way to disable such optimizations?
Regards,
Zeinab
________________________________
From: Marc-André Laverdière <marc-andre.laverdiere-papineau at polymtl.ca>
To: Zeinab Lashkaripour <lashkaripour at yahoo.com>; Zeinab Lashkaripour <lashkaripour at yahoo.com>; "soot-list at sable.mcgill.ca" <soot-list at sable.mcgill.ca>
Sent: Sunday, June 23, 2013 3:32 PM
Subject: Re: [Soot-list] Wrong jimple code
Hi
Are you putting the virtual invoke in an assign statement?
Anyways, this could be an optimization. String buffers are made to return the same object, so maybe the assignments are optimized away. Did you check with javap for a similar chunk of code?
--
Marc-André Laverdière
PhD Candidate - Doctorant
Sent from a mobile device - please excuse the brevity
Zeinab Lashkaripour <lashkaripour at yahoo.com> wrote:
>Hi everyone,
>
>I have the issue mentioned below that needs your guidance.
>
>Previously I had no problem and the jimple body was ok, but now I have
>the problem that the virtualinvokes are not generated properly as shown
>in [1]. They should be in the form of:
>
> temp$29 = vir..... .
>
>My comman line options are:
>"-p", "jb", "use-original-names:true",
>
>"-p", "tag.ln", "enabled",
>"-keep-line-number",
>"-src-prec", "java",
>"-validate",
>"-cp", "...",
>
>"-f", "class", "--app"
>
>I should mention that I remember no specific change that I have made
>except using soot-develop instead of soot-2.5.0 and using Aggregator
>for my methods body. (although I think these should not be the problem)
>
>Could anyone guide me? I would be very glad to hear your suggestions.
>
>Regards,
>Zeinab
>
>[1]:
>
>temp$29 = new java.lang.StringBuffer
>specialinvoke temp$29.<java.lang.StringBuffer: void <init>()>()
>virtualinvoke temp$29.<java.lang.StringBuffer: java.lang.StringBuffer
>append(java.lang.Object)>("value1")
>virtualinvoke temp$29.<java.lang.StringBuffer: java.lang.StringBuffer
>append(java.lang.Object)>(var)
>virtualinvoke temp$29.<java.lang.StringBuffer: java.lang.StringBuffer
>append(java.lang.Object)>("value2")
>var = virtualinvoke temp$29.<java.lang.StringBuffer: java.lang.String
>toString()>()
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Soot-list mailing list
>Soot-list at sable.mcgill.ca
>http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20130623/1f7aecad/attachment.html
More information about the Soot-list
mailing list