New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Some jar files fail with "Invalid bytecode found: 20 at location 0 in method main()" #15
Comments
With -verbose:finest, javac --version java --version |
Looking at run.go, I can see that the opcode entries between 0x12 (ldc) and iload (0x15) are missing, namely:
The 0x14 (20) is what was diagnosed in the default case of the switch statement in |
Thanks for this report, Richard. The interpreter is still very much in development and there are instructions, such as the one you ran into, that are unimplemented. We'll get to them all! |
Those missing instructions have been added and should be working correctly now. |
Project tinyjar (no changes) proceeds further and then runs into another missing bytecode .....
Bytecode 72 (0x48) : store a double into local variable 1 |
I also saw that FNEG (negate a float i.e. 0x76) is commented out. Pending work on floating point in general?
Why |
Okay, it looks like you haven't gotten around to floating point operations. All in good time. |
Thanks for staying with this. @suresk is working on floating-point and I'm helping him out (I think!). To avoid you having to run the file each time we update and run into an instruction we're still implementing, maybe consider running javap -v on the file and send us the listing and we can prioritize the bytecodes you need. Either way, thanks for your continued support! |
I actually have the jar and am using it as a rough test case. The opcodes we are missing are: DADD All of the double ones should be easy and I will have implemented shortly, but the invoke ones are a bit more. |
@suresk You have the zip file too? That has the source and the scripts for building the jar. The whole tree, actually. |
Scimark ver 2 will be an interesting scientific app performance comparison between |
Built a simple .jar file from a manifest and 3 small class files.
See README.txt in the attached ZIP file for tree layout (small), bash scripts, and Java source files.
tinyjar.zip
The text was updated successfully, but these errors were encountered: