[abc] Correct Jasmin version and other strange behavior

From: <eric@bodden.de>
Date: Mon Aug 22 2005 - 16:42:08 BST

Hi.

I have tried to integrate the new Soot version into abc.
When using the sootclasses.jar with the old jasmin version I get:

     [java] jas.jasError: Unknown directive or badly formed number.
     [java] at jasmin.Scanner.next_token(Scanner.java:213)
     [java] at jasmin.parser.scan(parser.java:409)
     [java] at java_cup.runtime.lr_parser.parse(lr_parser.java:563)
     [java] at jasmin.ClassFile.readJasmin(ClassFile.java:821)
     [java] at jasmin.Main.assemble(Main.java:24)
     [java] at soot.util.JasminOutputStream.flush(JasminOutputStream.java:35)
     [java] at
sun.nio.cs.StreamEncoder$CharsetSE.implFlush(StreamEncoder.java:410)
     [java] at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:152)
     [java] at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:213)
     [java] at java.io.PrintWriter.flush(PrintWriter.java:270)
     [java] at soot.PackManager.writeClass(PackManager.java:676)
     [java] at soot.PackManager.writeOutput(PackManager.java:390)
     [java] at soot.PackManager.writeOutput(PackManager.java:342)
     [java] at abc.main.Main.output(Main.java:952)
     [java] at abc.main.Main.run(Main.java:515)
     [java] at abc.main.Main.main(Main.java:196)
     [java] Jasmin: Found 1 errors

and similar...

When using the 1.2.7 version of jasmin, I get instead:
java.lang.NoSuchMethodError:
jasmin.Main.assemble(Ljava/io/InputStream;Ljava/io/OutputStream;Z)V

So what version of Jasmin is correct for that version of Soot?

Also:

I have tried to compare your JHotDraw benchmark to my tool JLO.
When tyring to compile JHotDraw with abc 1.0.2 (with the Soot/Jasmin/Polyglot
version from the abc site), I get:

     [java] Exception in thread "main" polyglot.util.InternalCompilerError:
Exception while processing <org.jhotdraw.applet.DrawApplet:
java.lang.String[] getRequiredVersions()>
     [java] at abc.main.Main.weave(Main.java:824)
     [java] at abc.main.Main.run(Main.java:483)
     [java] at abc.main.Main.main(Main.java:196)
     [java] Caused by: java.lang.RuntimeException: Attempting to push a
non-constant cp entry
     [java] at soot.coffi.CFG.processCPEntry(CFG.java:2716)
     [java] at soot.coffi.CFG.processFlow(CFG.java:1722)
     [java] at soot.coffi.CFG.jimplify(CFG.java:1341)
     [java] at soot.coffi.CFG.jimplify(CFG.java:1125)
     [java] at soot.coffi.CoffiMethodSource.getBody(CoffiMethodSource.java:98)
     [java] at soot.SootMethod.getBodyFromMethodSource(SootMethod.java:80)
     [java] at soot.SootMethod.retrieveActiveBody(SootMethod.java:304)
     [java] at abc.main.Main.weave(Main.java:820)
     [java] ... 2 more

(abc gets JHotdraw as Java 1.5 bytecode compiled with Eclipse)

So can anyone tell me how I can correctly process Java 5 bytecode with abc? (I
am only using annotations as single Java 5 feature)

Thanks,
Eric
 

-- 
Eric Bodden
Chair 2 for Computer Science
RWTH Aachen University, Germany

Received on Mon Aug 22 16:42:19 2005

This archive was generated by hypermail 2.1.8 : Mon Aug 22 2005 - 18:10:12 BST