A Java ILP Machine Based on Fast Dynamic Compilation

By Kemal Ebcioglu, Erik Altman, Erdem Hokenek
IBM T.J. Watson Research Center
Yorktown Heights, NY 10597
[kemel,erik,hokenek]@watson.ibm.com


Presented at the "International Workshop on Security and Efficiency Aspects of Java",
part of the IEEE MASCOTS Conference. Eilat, Israel, January 9-10, 1997

Abstract

For desktop machines for network computing (called Webtops), one needs high performance execution of Java programs, since these machines will be expected to run substantial applications that will be written in Java. On a Webtop, a chip designed to run only Java programs along with a lean operating system to support it, can theoretically provide a cheaper and faster solution compared to a general purpose PC. We believe that, compared to a stack machine, higher Java performance can be achieved by state of the art ILP (Instruction Level Parallelism) compiler and hardware technology. To this end, we propose a simple ILP architecture (a small VLIW machine), together with a Java Just-In-Time (JIT) compiler hidden within the chip architecture. This approach extends the DAISY system described in IBM Cyberjournal Entry 8502.

The first time a fragment of Java code is executed, the JIT compiler transparently converts the Java byte codes to highly optimized RISC primitives, then parallelizes them, so multiple RISC primitives can be executed in one machine cycle. The VLIW code is saved in a portion of main memory not visible to the Java architecture. Subsequent executions of the same fragment do not require translation (unless cast out). We describe fast compiler algorithms for dynamic translation of Java byte codes to VLIW code. These algorithms parallelize across multiple paths and loop iteration boundaries. In addition, they map the Java stack and local variables to real registers, thereby eliminating the pushes and pops between local variables and the stack by appropriate register allocation.

Download complete paper

This paper is in PDF format and can be viewed and printed with Adobe's Acrobat(TM) Reader. A free copy of the reader is available from Adobe.



JavaTM is a trademark of Sun Microsystems, Inc.

Other companies, products, and service names may be trademarks or service marks of others.

Copyright    Trademark



Java Education Java Home
IBM HomeOrderEmployment