Proceedings.International Conference on Parallel Architectures and Compilation Techniques (2002)
Sept. 22, 2002 to Sept. 25, 2002
Tatiana Shpeisman , Intel Labs
Guei-Yuan Lueh , Intel China Research Center
Ali-Reza Adl-Tabatabai , Intel Labs
<p>This paper describes a just-in-time (JIT) Java<sup>1</sup> compiler for the Intel® Itanium® processor. The Itanium processor is an example of an Explicitly Parallel Instruction Computing (EPIC) architecture and thus relies on aggressive and expensive compiler optimizations for performance. Static compilers for Itanium use aggressive global scheduling algorithms to extract instruction-level parallelism. In a JIT compiler, however, the additional overhead of such expensive optimizations may offset any gains from the improved code.</p> <p>In this paper, we describe lightweight code generation techniques for generating efficient Itanium code. Our compiler relies on two basic methods to generate efficient code. First, the compiler uses inexpensive scheduling heuristics to model the Itanium microarchitecture. Second, the compiler uses the semantics of the Java virtual machine to extract instruction-level parallelism.</p>
G. Lueh, A. Adl-Tabatabai and T. Shpeisman, "Just-In-Time Java™ Compilation for the Itanium® Processor," Proceedings.International Conference on Parallel Architectures and Compilation Techniques(PACT), Charlottesville, Virginia, 2002, pp. 249.