Implementing fast JVM interpreters using Java itself

  • Authors:
  • Michael Bebenita;Andreas Gal;Michael Franz

  • Affiliations:
  • University of California, Irvine, CA;University of California, Irvine, CA;University of California, Irvine, CA

  • Venue:
  • Proceedings of the 5th international symposium on Principles and practice of programming in Java
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Most Java Virtual Machines (JVMs) are themselves written in unsafe languages, making it unduly difficult to build trustworthy and safe JVM platforms. While some progress has been made on removing compilers from the trusted computing base (using certifying compilation), JVM interpreters continue to be built almost exclusively in C/C++. We have implemented an alternative approach, in which the JVM interpreter itself is built in Java, and runs atop a host JVM execution environment. Despite benefiting from the additional safety guarantees of the JVM runtime system, the execution overhead of our nested Java interpreter is quite acceptable in practice. Our results suggest that implementors should concentrate their efforts on optimizing just-in-time compilers rather than on interpreters. If a mixed-mode VM environment is desired, a generic JVM interpreter can subsequently be created using Java itself.