Welcome To The Open Source Maxine VM Project:
A Next Generation, Highly Productive Platform for Virtual Machine Research
- Team, Collaborations, Publications, FAQ
- Download, Build & Run, Platforms
- Status, Bugs, Mailing List, Testing, Profiling, Virtual Machine Level Analysis
- IDEs: Eclipse, Netbeans, IntelliJ
- Maxine Tools: Inspector, mx script
- Tech Topics: Glossary, Actors, Assembler, Boot Image, C1X, Code Eviction, Code Dependencies, CompilationBroker, MaxineGraal, Inspector-VM Interaction, JDK, Logging and Tracing Memory Management, Objects, ReferenceMapInterpreter, Schemes, Snippets, Stack Walking, T1X, Target Methods, Threads, VM Tooling Interface, VM Operation, VMOptions, XIR
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. 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.
ACM TACO journal paper that covers the architecture of Maxine:
Christian Wimmer, Michael Haupt, Michael L. Van De Vanter, Mick Jordan, Laurent Daynès, Douglas Simon: Maxine: An Approachable Virtual Machine For, and In, Java. In ACM Transactions on Architecture and Code Optimization, volume 9, issue 4, article 30. ACM Press, 2013. doi:10.1145/2400682.2400689
Presentation slides for the ECOOP Summer School 2012:
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 Oracle's standard JDK. There's no need to download (and build) other implementations of the standard Java classes. In addition, Oracle's JDK is the most compliant and mature implementation of the standard Java classes available.
- 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 workspace includes mx, a powerful command line tool for building the VM as well as launching other programs in the code base, such as the Inspector.
- The VM and Inspector run on modern platforms.
- The workspace is hosted in a Mercurial repository making downloading and collaboration easier.
- Download and build Maxine from source on any of the supported platforms.
- Read the technical report "Maxine: An Approachable Virtual Machine For, and In, Java"
- Send any questions or bug reports to this mailing list.
- Read about the current status of the VM.
- Learn more about the Maxine Inspector, the companion tool for visualizing internal state and debugging the VM: video introduction, video demos, and written documentation.
- Learn more about Virtual Machine Level Analysis, an experimental extension for analysis the behavior of application (and eventually the VM).
- View publications and presentations about Maxine.
- Read the Glossary and FAQ.
- Review some short notes on VM technical topics
- Visit our Collaborations page and tell us about your work.
- Members of the core Maxine team at Oracle Labs have write access at this time; please get in touch if you'd like to contribute content.
- We encourage public comments on these pages, especially where a page should answer your question but doesn't. You must be registered (free) and logged in to comment; please post on our user mailing list if this doesn't work for you.
- If possible, links to relevant email discussion threads, e.g., on the Maxine mailing list would make your comments even more useful.
1 formerly Sun Microsystems Laboratories