Fast, effective code generation in a just-in-time Java compiler

  • Authors:
  • Ali-Reza Adl-Tabatabai;Michał Cierniak;Guei-Yuan Lueh;Vishesh M. Parikh;James M. Stichnoth

  • Affiliations:
  • Oracle Parkway, Redwood Shores, CA and Intel Corporation, 2200 Mission College Blvd., Santa Clara, CA;Intel Corporation, 2200 Mission College Blvd., Santa Clara, CA;Intel Corporation, 2200 Mission College Blvd., Santa Clara, CA;Intel Corporation, 2200 Mission College Blvd., Santa Clara, CA;Intel Corporation, 2200 Mission College Blvd., Santa Clara, CA

  • Venue:
  • PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

A "Just-In-Time" (JIT) Java compiler produces native code from Java byte code instructions during program execution. As such, compilation speed is more important in a Java JIT compiler than in a traditional compiler, requiring optimization algorithms to be lightweight and effective. We present the structure of a Java JIT compiler for the Intel Architecture, describe the lightweight implementation of JIT compiler optimizations (e.g., common subexpression elimination, register allocation, and elimination of array bounds checking), and evaluate the performance benefits and tradeoffs of the optimizations. This JIT compiler has been shipped with version 2.5 of Intel's VTune for Java product.