Skip to main content

JIT translator for Oberon


Suitable for


At present, the bytecode that is output by the Oxford Oberon--2 compiler is interpreted at run-time, leading to a ten-fold decrease in speed compared with native code. The aim of this project is to provide a translator that can turn the bytecode into native code, reclaiming some of the speed disadvantage. An initial implementation might run as a separate program, translating some or all of the bytecode before execution starts; but a second implementation might be integrated with the runtime system, so that heavily-used sections of code can be translated while the Oberon program is running. The key to making this work is to have the compiled and interpreted code share the same run-time data structures. A successful design will be largely independent of the target machine, so that the translator can easily be ported from one machine architecture to another.