Projects ⋅ Peter Nelson

A JIT Translator for Oberon

Overview

I completed this project as part of my 3rd year Computer Science undergraduate assessment.  The aim was to implement a JIT runtime for the Oxford Oberon-2 platform using the open source libjit library.  The Oxford Oberon-2 platform consists of a compiler and runtime, written by my supervisor Mike Spivey, and the Oberon-2 language itself is used in the “Imperative Programming” course here at Oxford.  The runtime system uses a stack-based virtual machine, with an architecture similar to that of the JVM and CLR.

Even with only a few simple runtime code optimisations, the completed JIT performed far better than the interpreter implementation in a number of informal benchmarking tests, even coming close to the performance of Mono 2.6.  A possible future project could involve adding to and improving on the optimisation techniques, and more formal benchmarking tests.

Project Dissertation

The 10,000-word dissertation that I submitted for assessment can be found below.  It discusses the technical aspects of the project in much more detail.