The java hotspot TM server compiler

The Java HotSpotTM Server Compiler achieves improved asymptotic performance through a combination of object-oriented and classical-compiler optimizations. Aggressive inlining using class-hierarchy analysis reduces function call overhead and provides opportunities for many compiler optimizations.

[1]  Eduardo Pelegrí-Llopart,et al.  Optimal code generation for expression trees: an application BURS theory , 1988, POPL '88.

[2]  Keith D. Cooper,et al.  Combining analyses, combining optimizations , 1995, TOPL.

[3]  Toshiaki Yasue,et al.  Design, implementation, and evaluation of optimizations in a just-in-time compiler , 1999, JAVA '99.

[4]  Urs Hölzle,et al.  A Fast Write Barrier for Generational Garbage Collectors , 1993 .

[5]  Keith D. Cooper,et al.  Improvements to graph coloring register allocation , 1994, TOPL.

[6]  Toshiaki Yasue,et al.  Overview of the IBM Java Just-in-Time Compiler , 2000, IBM Syst. J..

[7]  Y. S. Ramakrishna,et al.  An efficient meta-lock for implementing ubiquitous synchronization , 1999, OOPSLA '99.

[8]  David M. Ungar,et al.  The new crop of Java virtual machines (panel) , 1998, OOPSLA '98.

[9]  Robert Griesemer Generation of Virtual Machine Code at Startup , 1999 .

[10]  Mauricio J. Serrano,et al.  Thin locks: featherweight synchronization for Java , 1998, PLDI '98.

[11]  Michael D. Smith,et al.  Quality and speed in linear-scan register allocation , 1998, PLDI.

[12]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.

[13]  Robert E. Tarjan,et al.  A fast algorithm for finding dominators in a flowgraph , 1979, TOPL.

[14]  Gregory J. Chaitin,et al.  Register allocation & spilling via graph coloring , 1982, SIGPLAN '82.

[15]  Urs Hölzle,et al.  Reconciling responsiveness with performance in pure object-oriented languages , 1996, TOPL.

[16]  Cliff Click,et al.  A simple graph-based intermediate representation , 1995 .

[17]  Craig Chambers,et al.  Debugging optimized code with dynamic deoptimization , 1992, PLDI '92.