Title: Just-in-time compilation for OCaml.
Description: Modern byte-code based language
implementations, such as Microsoft's .Net Common Language Runtime
and most virtual machines for Java, provide a just-in-time (JIT)
compiler that translate byte code into native machine code
immediately before execution. JIT compilers were originally
designed to achieve efficient execution of system-independent
programs distributed over the Internet. Lately, they have also
been used to improve the efficiency of application that employ
run-time code generation and execution.
The functional language OCaml features both a byte-code compiler
and a native-code compiler but not a just-in-time compiler. The
goal of this project is to extend OCaml's virtual machine with a
just-in-time compiler that enable efficient execution of existing
OCaml byte code programs.
[Note that an implementation of a JIT compiler appears to be
shipped in a future release of the standard OCaml
distribution.]
Prerequisities: This project requires a profound
understanding of compilation techniques, of interpreters or
virtual machines, and of strict functional programming languages
(e.g., Standard ML or OCaml). The project involves a large amount
of programming (in OCaml and C).
Workload: 22.5 ECTS. There is enough work for a Master's
thesis for one or two students.
Semesters: Fall 2004 or Spring 2005.
Supervisor: Morten Rhiger, assistant professor, PhD.
Links and references: The
OCaml homepage.
|