Design, implementation, and evaluation of optimizations in a Java (TM) Just-in-Time compiler

Citation
K. Ishizaki et al., Design, implementation, and evaluation of optimizations in a Java (TM) Just-in-Time compiler, CONCURRENCY, 12(6), 2000, pp. 457-475
Citations number
24
Categorie Soggetti
Computer Science & Engineering
Journal title
CONCURRENCY-PRACTICE AND EXPERIENCE
ISSN journal
10403108 → ACNP
Volume
12
Issue
6
Year of publication
2000
Pages
457 - 475
Database
ISI
SICI code
1040-3108(200005)12:6<457:DIAEOO>2.0.ZU;2-W
Abstract
The Java language incurs a runtime overhead for exception checks and object accesses, which are executed without an interior pointer in order to ensur e safety. It also requires type inclusion test, dynamic class loading, and dynamic method calls in order to ensure flexibility, A 'Just-In-Time' (JIT) compiler generates native code from Java byte code at runtime. It must imp rove the runtime performance without compromising the safety and flexibilit y of the Java language. We designed and implemented effective optimizations for a JIT compiler, such as exception check elimination, common subexpress ion elimination, simple type inclusion test, method inlining, and devirtual ization of dynamic method call, We evaluate the performance benefits of the se optimizations based on various statistics collected using SPECjvm98, its candidates, and two JavaSoft applications with byte code sizes ranging fro m 23 000 to 280 000 bytes, Each optimization contributes to an improvement in the performance of the programs, Copyright (C) 2000 John Wiley & Sons, L td.