[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Unrecognized bytecode JSR ?



If I compile it with javac 1.4.1, I get the error you describe.
If I compile it with javac 1.4.2, I get warnings from javac about
finally blocks, but then Soot handles the code just fine.

There were some bug fixes for weird try-finally code in javac 1.4.2.
See the reference in the release notes to bug 4381996.
http://developer.java.sun.com/developer/bugParade/bugs/4381996.html

I don't know whether the code produced by javac 1.4.1 is in fact buggy,
or if it is just different, but in any case, it seems to confuse
Jimple's jsr inlining. The warnings from javac 1.4.2 suggest that the
code is doing something bizarre. I would recommend just using javac
1.4.2.

Ondrej

On Tue, Aug 12, 2003 at 11:03:14AM -0400, CHEN FU wrote:
> I met the following exception when working a some class:
> 
> Exception in thread "main" java.lang.RuntimeException: Unrecognized
> bytecode 
> instruction: 168
>         at soot.coffi.CFG.generateJimple(CFG.java:4748)
>         at soot.coffi.CFG.jimplify(CFG.java:1436)
>         at soot.coffi.CFG.jimplify(CFG.java:1099)
>         at soot.coffi.CoffiMethodSource.getBody(CoffiMethodSource.java:98)
>         at soot.SootMethod.getBodyFromMethodSource(SootMethod.java:80)
>         at soot.SootMethod.retrieveActiveBody(SootMethod.java:279)
> 
> I understand that JSR and RET should be inlined. Is this a inlining
> problem?
> 
> I got this when try to analyse an small application "Smart Cache"
> downloaded from:
> http://home.tiscali.cz:8080/~cz210552/scache.html
> 
> down load the tar ball, extract and compile it. then go to 
> 
> scache-0.88/src
> java soot.Main request
> 
> Then I got the exception.
> Anyone can replicate that error?
> 
> Thanks!
>