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