next up previous
Next: Introduction

1

Joeq: A Virtual Machine and Compiler Infrastructure

John Whaley
Computer Systems Laboratory
Stanford University
Stanford, CA 94305

March 13, 2003

jwhaley@stanford.edu

Abstract:

Joeq[*] is a virtual machine and compiler infrastructure designed to facilitate research in virtual machine technologies such as Just-In-Time and Ahead-Of-Time compilation, advanced garbage collection techniques, distributed computation, sophisticated scheduling algorithms, and advanced run time techniques. Joeq is entirely implemented in Java, leading to reliability, portability, maintainability, and efficiency. It is also language-independent, so code from any supported language can be seamlessly compiled, linked, and executed -- all dynamically. Each component of the virtual machine is written to be independent with a general but well-defined interface, making it easy to experiment with new ideas. Joeq is released as open source software, and is being used as a framework by researchers on five continents on topics ranging from automatic distributed virtual machines to whole-program pointer analysis.

Figure 1: Overview of the Joeq system. Arrows between blocks signify either the flow of data between components, or the fact that one component uses another component.
\includegraphics[width=6.98in]{overview}




next up previous
Next: Introduction
John Whaley 2003-03-15