javaclass

Changelog

(0) -10 +10 +100 tip
18:2a50b70c772b
2004-11-09 Paul Boddie changeset files shortlog graph Fixed comparison plus branch (if_acmp*) by removing the comparison result from the operand stack. Added stack top duplication before RAISE_VARARGS so that the appropriate handlers can save the value. Changed the value stored in the load_const_ret method so that None is stored (although this may need verifying). When the translated ret instruction (END_FINALLY in the Python VM, again requiring verification) is executed, the value loaded just prior to its execution should be the same as that saved at the beginning of the handler, and this should be None or a raised exception. NOTE: The load_const_ret translation should arguably retrieve the saved NOTE: value from the beginning of any active handler instead of just NOTE: loading None. This may be assured in try...finally constructs NOTE: (without catch sections), however. Rearranged Python VM instruction insertion for exceptions. Changed some load_global(None) usage to load_const(None). Added instruction positions in the disassembly output.
bytecode.py
17:aa56bc8693a9
2004-11-09 Paul Boddie changeset files shortlog graph Added more test methods.
tests/Value.java
16:eb6e8da8c28e
2004-11-09 Paul Boddie changeset files shortlog graph Added some test cases.
tests/ExceptionTest.java tests/Value.java
15:bd70c69bd9ae
2004-11-09 Paul Boddie changeset files shortlog graph Added local variable usage tracking. Changed the invokespecial implementation, since it probably has very little to do with superclass method invocation specifically. Extended the test program to try and assemble an entire class. Attempted to fix block gymnastics for exceptions.
bytecode.py
14:946dca5710ea
2004-11-09 Paul Boddie changeset files shortlog graph Changed the Python equivalent of <init> to be a special __java_init__ method.
classfile.py
13:5f0832d56165
2004-11-09 Paul Boddie changeset files shortlog graph Added usage of name translation. Added notes on proper exception handling.
bytecode.py
12:61621082e2d4
2004-11-09 Paul Boddie changeset files shortlog graph Added initial name translation support.
classfile.py
11:4184dc282002
2004-11-09 Paul Boddie changeset files shortlog graph Added supposedly improved exception handling in order to use Python VM features. The problem is that the JVM athrow instruction is dynamic and best translates to the Python VM RAISE_VARARGS instruction. However, in order to support RAISE_VARARGS, the SETUP_EXCEPT, SETUP_FINALLY, POP_BLOCK and END_FINALLY instructions are also required, yet the JVM supports try... catch...finally (whereas the Python VM only supports try...except and try...finally), and anticipates finally handling using very low-level subroutine calling and arcane usage of local variables. Changed the result of the translate convenience function and the parameter specification of the translate and disassemble functions. Fixed the get_value method in LazySubValue and the LazyValue portion of the _write_value method in BytecodeWriter.
bytecode.py
10:38c56a357c49
2004-11-09 Paul Boddie changeset files shortlog graph Removed the undesirable conversion to Unicode in NameUtils.get_name.
classfile.py
9:7adb0ed5b58e
2004-11-08 Paul Boddie changeset files shortlog graph Added missing bytecode translations.
bytecode.py
(0) -10 +10 +100 tip