This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Eighth International Conference on Parallel Architectures and Compilation Techniques (PACT'99)
LaTTe: A Java VM Just-in-Time Compiler with Fast and Efficient Register Allocation
Newport Beach, California
October 12-October 16
ISBN: 0-7695-0425-6
Byung-Sun Yang, Seoul National University
Soo-Mook Moon, Seoul National University
Seongbae Park, Seoul National University
Junpyo Lee, Seoul National University
SeungIl Lee, Seoul National University
Jinpyo Park, Seoul National University
Yoo C. Chung, Seoul National University
Suhyun Kim, Seoul National University
Kemal Ebcioglu, IBM T. J. Watson Research Center
Erik Altman, IBM T. J. Watson Research Center
For network computing on desktop machines, fast execution of Java bytecode programs is essential because these machines are expected to run substantial application programs written in Java. Higher Java performance can be achieved by Just-in-Time (JIT) compilers which translate the stack-based bytecode into register-based machine code on demand. One crucial problem in Java JIT compilation is how to map and allocate stack entries and local variables into registers efficiently and quickly, so as to improve the Java performance.This paper introduces LaTTe, a Java JIT compiler that performs fast and efficient register mapping and allocation for RISC machines. LaTTe first translates the bytecode into pseudo RISC code with symbolic registers, which is then register allocated while coalescing those copies corresponding to pushes and pops between local variables and the stack. The LaTTe JVM also includes an enhanced object model, a lightweight monitor, a fast mark-and-sweep garbage collector, and an on-demand exception handling mechanism, all of which are closely coordinated with LaTTe's JIT compilation.Our experimental results on the SPARC platform with SPECJVM98 benchmarks and 15 non-trivial Java programs indicate that the current LaTTe JVMs achieve performance better than or comparable to the latest SUN JIT compilers (JDK 1.1.6 and HotSpot). It is also shown that LaTTe makes a reasonable trade-off between quality and speed of register allocation (i.e., the translation overhead consistently takes 1-2 seconds for SPECJVM98 which runs 40-80 seconds on LaTTe).
Index Terms:
Java JIT compilation, register allocation
Citation:
Byung-Sun Yang, Soo-Mook Moon, Seongbae Park, Junpyo Lee, SeungIl Lee, Jinpyo Park, Yoo C. Chung, Suhyun Kim, Kemal Ebcioglu, Erik Altman, "LaTTe: A Java VM Just-in-Time Compiler with Fast and Efficient Register Allocation," pact, pp.128, Eighth International Conference on Parallel Architectures and Compilation Techniques (PACT'99), 1999
Usage of this product signifies your acceptance of the Terms of Use.