Welcome to the Maxine VM project

A next generation, highly productive platform for virtual machine research.

Project Overview

In this era of modern, managed languages we demand ever more from our virtual machines: better performance, more scalability, and support for the latest new languages. Research and experimentation is essential but challenging in the context of mature, complex, production VMs written in multiple languages. The Maxine VM is a next generation platform that establishes a new standard of productivity in this area of research. It is written entirely in Java, completely compatible with modern Java IDEs and the standard JDK, features a modular architecture that permits alternate implementations of subsystems such as GC and compilation to be plugged in, and is accompanied by a dedicated development tool (the Maxine Inspector) for debugging and visualizing nearly every aspect of the VM’s runtime state.

As of the 2.0 release, September 2013, Maxine is no longer an active project at Oracle Labs. As of the 2.1 release, April 2017, Maxine VM is actively maintained and developed at the University of Manchester.

We believe that Maxine represents the state of the art in a research VM, and actively encourage community involvement. The Maxine sources, including VM, Inspector, and other supporting tools, are Open Source and are licensed under GPL version 2.0. To obtain the code please visit https://github.com/beehive-lab.

Getting Started

Features

Some of the features of Maxine that make it a compelling platform for (J)VM research include:

  • Nearly all of the code base is written in Java and exploits advanced language features appearing in JDK 5 and beyond: for example annotations, static imports, and generics.
  • The VM integrates with openJDK. There’s no need to download (and build) other implementations of the standard Java classes.
  • The source code supports development in Eclipse, Netbeans or IntelliJ all of which provide excellent support for cross-referencing and browsing the code. It also means that refactoring can be confidently employed to continuously improve the structure of the code.
  • The Maxine Inspector produces visualizations of nearly every aspect of the VM runtime state, and provides advanced, VM-specific debugging.
  • The source code is hosted on GitHub making downloading and collaboration easier.

Roadmap

  • Implement JVMCI, Upgrade to latest Graal
  • Run Truffle on top of Maxine VM/Graal
  • Port MMTk to Maxine VM

Acknowledgements

This documentation is heavily based on the original wiki pages (by Oracle) that can be found here and here.

Table of Contents

Indices and tables