Overview of the IBM Java just-in-time compiler

Citation
T. Suganuma et al., Overview of the IBM Java just-in-time compiler, IBM SYST J, 39(1), 2000, pp. 175-193
Citations number
32
Categorie Soggetti
Computer Science & Engineering
Journal title
IBM SYSTEMS JOURNAL
ISSN journal
00188670 → ACNP
Volume
39
Issue
1
Year of publication
2000
Pages
175 - 193
Database
ISI
SICI code
0018-8670(2000)39:1<175:OOTIJJ>2.0.ZU;2-J
Abstract
We present the design and implementation of several optimizations and techn iques included in the latest IBM Java(TM) Just-in-Time (JIT) Compiler. We f irst discuss some of the modifications we have applied to Sun Microsystems' reference implementation of the Java Virtual Machine (JVM(TM)) Specificati on to increase the performance, including a change in the object layout We then describe each of the optimizations, referring to what had to be taken into account because of both the just-in-time nature of the compiler and th e requirements of the Java language specification, such as exception checki ng. We also present code generation techniques targeting Intel architecture s, describing the register allocation schemes, exception handling, and code scheduling. Finally we report on the performance of the IBM JIT compiler, showing both the effectiveness of the individual optimizations and the comp etitive overall performance of the JIT compiler in comparison with a compet itor using industry-standard benchmarking programs. All the techniques pres ented here are included in the official product (JIT Compiler version 3.0), which has been integrated into the ISM Developer Kit for Windows(TM), Java Technology Edition, Version 1.1.7.