[Soot-list] Exception Table

Patrick Lam plam at cs.mcgill.ca
Wed Jul 9 13:39:59 EDT 2008


Silviu ANDRICA wrote:
> The Baf translation adds, for the first trap, "label3: store.r $r6;". 
> The problem is that, now an exceptional edge from it to the second trap 
> handler: "label8: store.r $r6;" which does not guarantee that the second 
> acquired lock is released: if the first exitmonitor fails and then 
> "label 3" fails, then control reaches "label 8" and then only one, the 
> first, lock is released.

I'm having some trouble understanding your explanation of the problem.

It's clear that the problem is not in the Java-to-Jimple translation, 
since the problem occurs in javac-produced code. It's also clear that 
it's not in the Jimple-to-baf translation, since the problem occurs in 
Jimple.

Are you saying that the statement $r6 := @caughtexception (also known as 
store.r $r6) can throw an exception? Which exception could it throw?

pat


More information about the Soot-list mailing list