Practicing JUDO
Authors:
Open Access
- 1 May 2000
- conference paper
- Published by Association for Computing Machinery (ACM)
- Vol. 35 (5) , 13-26
Abstract
A high-performance implementation of a Java Virtual Machine (JVM) consists of efficient implementation of Just-In-Time (JIT) compilation, exception handling, synchronization mechanism, and garbage collection (GC). These components are tightly coupled to achieve high performance. In this paper, we present some static anddynamic techniques implemented in the JIT compilation and exception handling of the Microprocessor Research Lab Virtual Machine (MRL VM), i.e., lazy exceptions, lazy GC mapping, dynamic patching, and bounds checking elimination. Our experiments used IA-32 as the hardware platform, but the optimizations can be generalized to other architectures.Keywords
This publication has 11 references indexed in Scilit:
- The Jalapeño dynamic optimizing compiler for Java1999
- An evaluation of staged run-time optimizations in DyC1999
- Support for garbage collection at every instruction in a Java compiler1999
- Fast, effective code generation in a just-in-time Java compiler1998
- Does “just in time” = “better late than never”?1997
- Fast, effective dynamic compilation1996
- Source-level debugging of scalar optimized code1996
- Optimizing dynamically-dispatched calls with run-time type feedback1994
- Detection and recovery of endangered variables caused by instruction scheduling1993
- Debugging optimized code with dynamic deoptimization1992