[Soot-list] Wrong jimple code

Marc-André Laverdière marc-andre.laverdiere-papineau at polymtl.ca
Sun Jun 23 07:02:00 EDT 2013


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



More information about the Soot-list mailing list