## Idioms in Ovm

#### Abstract

The need to express important non-Java behaviors confronts the Ovm virtual machine framework no less than anyother VM-in-Java project such as JikesRVM. Any suchnproject needs mechanisms for the purpose, but different choices in the VM design affect the shape those mechanisms can take. In exploring how a component that makes non-trivial use of such mechanisms — the JMTk memory management toolkit — can be made to interoperate with Ovm and JikesRVM, some Ovm mechanisms have been both contributed to and borrowed from JikesRVM, and some remain distinct. We describe mechanisms we find useful in Ovm because of its design differences from JikesRVM.

We have developed idioms that use familiar Java syntax at the source level, and familiar, recognizable design patterns for problems such as VM configurability that involve ad hoc techniques in prior work, and we transform the idioms to code without the indirection and inefficiency that would otherwise weigh against the familiar patterns.

@techreport{Flack+2003TR,
author = {Flack, Chapman and Hosking, Antony L. and Vitek, Jan},
title = {Idioms in Ovm},
institution = {Purdue University},
year = {2003},
type = {Department of Computer Science Technical Report},
number = {03-017},
month = {May},
url = {http://docs.lib.purdue.edu/cstech/1566},
gscholar = {14}
}