The 41st IPP Symposium

The Maxine Virtual Machine

Ben L. Titzer, Sun Microsystems

Virtual machines for modern object-oriented languages are among the most complicated software systems in the world today, and top performance demands high-quality memory management, compilation, and runtime systems. However, the fast pace of language changes and the pursuit of ever more efficient implementation techniques demand more flexibility in the software architecture than current industrial virtual machines provide. This talk will give an overview of the Maxine VM's design and its focus on modularity and explain how increasing meta-circularity can provide advantages over traditional VM designs. Briefly, some experience on the early stages of adapting Maxine to support a STM system will be presented, as well as a perspective on how STM may affect the future design of optimizing compilers.

Bio: Ben L. Titzer is a Member of Technical staff at Sun Microsystems Laboratories. Since October 2007, he has been working on the Maxine VM, a meta-circular virtual machine for Java written in Java. Ben earned his Ph.D. in Computer Science from UCLA in 2007 under the supervision of Professor Jens Palsberg. Programming languages and their implementations have always been at the forefront of his research interest; his doctoral work focused on Virgil, a lightweight object-oriented language for microcontrollers that employed several novel compiler techniques for space optimization enabled by Virgil's object model. In 2006 he interned with David Bacon at IBM Research and developed the ExoVM, an application-specific persistence technique applied to an embedded version of the J9 virtual machine. In 2002 in n Labs with Grzegorz Czajkowski and Laurent Daynes, using native code isolation techniques to prevent privilege escalation for multiple users in the multi-tasking virtual machine (MVM), which was based on HotSpot. In 2001 and 2002, he worked under Professor Jan Vitek at Purdue on the OVM and some of its support tools.

Talk slides