[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Question about RetStmt
Hi there,
I have sent a mail about Jimple's "RetStmt" two monthes ago. known
that it is no longer used in Jimple, I neglect it in my program.
However today, I do find an instance of RetStmt, which caused my
program crashed. Is there anything I should be aware about RetStmt?
Thanks.
Appendix:
The original JAVA method: (part of Scene.java in JVM98 benchmark)
---------------------------------------------------------------------------------
private int LoadScene(String filename) {
synchronized(syncObject) {
return LoadSceneOrig(filename);
}
}
---------------------------------------------------------------------------------
The translated Jimple code (incorporating a RetStmt):
---------------------------------------------------------------------------------
private int LoadScene(java.lang.String)
{
address a0;
java.lang.Throwable r4;
spec.benchmarks._205_raytrace.Scene r0;
int i1, i0;
java.lang.String r3, r2, r1;
r0 := @this;
r3 := @parameter0;
r2 =
[spec.benchmarks._205_raytrace.Scene.syncObject:java.lang.String];
r1 = r2;
entermonitor r2;
label0:
i1 = specialinvoke
r0.[spec.benchmarks._205_raytrace.Scene.LoadSceneOrig(java.lang.String):int](r3);
i0 = i1;
a0 = &nextnextstmt;
goto label2;
return i0;
label1:
r4 := @caughtexception;
exitmonitor r1;
throw r4;
label2:
exitmonitor r1;
ret a0;
.catch java.lang.Throwable from label0 to label1 with label1
}
---------------------------------------------------------------------------------