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
|
|
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
|
|