javaclass

Changelog

(0) -10 +10 +100 tip
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
8:60fb5a7b7181
2004-11-08 Paul Boddie changeset files shortlog graph Attempted to provide proper bytecode output with 16-bit operands, special "lazy" subvalues which should be correctly completed for each byte of uncomputed constants. Attempted to make branches perform correctly, presumably needing to involve offsets from the following instruction in the Python VM. Attempted to add support for the jsr/jsr_w/ret mechanism. Note that the usage of RAISE_VARARGS is probably inappropriate. Added convenience methods to get details of the names, constants and stack depth from the BytecodeWriter, although the globals have been removed as a separate mapping and a variable name registry is missing.
bytecode.py
7:91cceb1bd580
2004-11-07 Paul Boddie changeset files shortlog graph Fixed shifting operations, observing operator precedence. Added names support in BytecodeWriter. Reorganised the BytecodeReader class hierarchy to provide disassembling support separate from translation support. Added convenience functions for disassembly and translation. Introduced some additional bytecode writing methods. Improved the classfile module to support easier access to names and descriptors through RefInfo objects.
bytecode.py classfile.py
6:a714f8355910
2004-11-07 Paul Boddie changeset files shortlog graph Added label-based jumping (rather than permitting only simple jumping forward to a single point). Added "lazy" dictionary support for the instruction mapping (from Java to Python bytecodes) along with a class which provides the "lazy" value for each case where the value is not known initially but is provided later. Added more bytecode translations and some Python bytecode sequence methods. Fixed the interpretation of various signed values.
bytecode.py
5:d18e689a422d
2004-10-29 Paul Boddie changeset files shortlog graph Added a class for the reading and conversion of Java bytecodes, moved the bytecode table into this class, added some initial conversion methods.
bytecode.py
4:668cb12070c2
2004-10-28 Paul Boddie changeset files shortlog graph Added proper support for integers, longs, floats and doubles, along with constant value retrieval. Added a bytecode processing module.
bytecode.py classfile.py
3:ba40e828e2eb
2004-10-28 Paul Boddie changeset files shortlog graph Fixed array descriptor handling.
classfile.py
2:928489775f5d
2004-10-25 Paul Boddie changeset files shortlog graph Fixed exception table population for CodeAttributeInfo. Added specific support in other AttributeInfo classes. Introduced the class file object into constant objects so that they may more directly support get_name and other convenience methods.
classfile.py
(0) -10 +10 +100 tip