Skip to main content
Back to USENIX
  • Conferences
  • Students
Sign in

USENIX Conference Policies

  • Event Code of Conduct
  • Conference Network Policy
  • Statement on Environmental Responsibility Policy

The Java HotSpot™ Server Compiler

Performance for the Java ™ Platform has evolved in stages. Early VM's were interpreter-only. Later VM's were interpreter plus template generated code, and finally interpreter plus optimized code. The Java HotSpot Virtual Machine™ improves performance through optimization of frequently executed application code. The Client version provides very fast compilation times and a small footprint with modest levels of optimization. The Server version applies more aggressive optimizations to achieve improved asymptotic performance. These optimizations include class-hierarchy aware inlining, fast-path/slow-path idioms, global value-numbering, optimistic constant propagation, optimal instruction selection, graph-coloring register allocation, and peephole optimization.

The first section describes the runtime environment that both the compiler and generated code execute within. Section two summarizes the structure of the server compiler. Sections three through section seventeen cover each phase of compilation in order. Solutions for specific language and runtime issues are described close to the compilation phase that addresses them. Last is a short description of phase costs and performance of generated code. Some names that occur in the compiler's source code are used within the text for readers who download the source under Sun's Community Source License [HS2.0]. The first occurrence of these names is emphasized to avoid confusion.

Michael Paleczny, Sun Microsystems

Christopher Vick, Sun Microsystems

Cliff Click, Sun Microsystems

BibTeX
@inproceedings {271018,
author = {Michael Paleczny and Christopher Vick and Cliff Click},
title = {The Java {HotSpot{\texttrademark}} Server Compiler},
booktitle = {Java (TM) Virtual Machine Research and Technology Symposium (JVM 01)},
year = {2001},
address = {Monterey, CA},
url = {https://www.usenix.org/conference/jvm-01/java-hotspot{\texttrademark}-server-compiler},
publisher = {USENIX Association},
month = apr
}
Download

Links

Paper: 
http://www.usenix.org/events/jvm01/full_papers/paleczny/paleczny.pdf
  • Log in or register to post comments

© USENIX
EIN 13-3055038

  • Privacy Policy
  • Contact Us