Java byte-code translator
The programming language Java guarants portability by translating Java programs into an platform independent immediate language, the Java bytecode. During run-time the bytecode is interpreted by a platform dependend Java Virtual Machine (JVM).

In this Diploma thesis the Java bytecode is directly translated to Intel protected mode code. The translator itself is written in Java. The run-time structures and code generation are tailor-made for the Distributed Plurix OS, currently being developed at the University of Ulm. Furthermore the translator cannot rely on run-time functions, instead it has to provide itself the necessary functionality.

Run-time structures of class descriptors, instances, arrays and code segments are compatible with a currently being developed Java compiler. This ensures compatibility of the compilation results. Furthermore the translator defines a pointer size of eight byte for supporting the garbage collection mechanism of the OS.

Due to efficency reasons the translator doesn't directly generate native Intel code but produces a compact immediate language. In this intermediate language every stack access is mapped to a virtual register. This representation enables future code generation optimizations. Furthermore the immediate language is a solid base for the efficient adaption of the Java bytecode for the Plurix OS.

Andreas Boehm, Diploma Thesis 1998
Department of Distributed Systems, University of Ulm