Check out the new USENIX Web site. next up previous
Next: IA32 Assembler Up: Experiences Porting the Jikes Previous: Overview

Establishing functionality

A central aim of the functional port was to achieve a clean decomposition of the RVM into architecture-independent and architecture-specific pieces. The RVM was designed to be a family of virtual machines with different variants incorporating different memory management and compilation schemes as well as more minor peculiarities. It uses three mechanisms to achieve this variety: static final variables called controls, subdirectories of the file system, and a minimal preprocessor that allows limited conditional exclusion of blocks of source text.5 The port uses these mechanisms to support variants that run on Linux/IA32.

The remainder of this section discusses the specific issues that needed to be addressed to construct such variants.


Stephen Fink 2002-05-23