IBM Israel
Skip to main content
 
Search IBM Research
   Home  |  Products & services  |  Support & downloads  |  My account
Select a Country Select a country
IBM Research Home IBM Research Home
IBM Haifa Labs Homepage IBM Haifa Labs Home

JIT/400

Compiler Technology
Project Homepage
 ·Contact Information
Feedback


JIT/400
In Java/400, static compilation is called Direct Execution (DE or JX), and is done by converting Java bytecode into the W-code intermediate language and using OX to complete the translation to persistent native code. An aggressive static compilation is done by the Whole Program Optimization (WPO), which restricts the dynamic features of Java, and converts the bytecode of an application to native code. The interpreter performs dynamic decoding for obsolete static compilation. As DE and WPO are not always applicable and interpretation is slow, we decided to add Just In Time (JIT) capability to Java/400. Although JIT dynamic compilation can only employ less sophisticated compile time optimizations, it can take advantage of any runtime information (such as resolution data). Therefore, it can achieve high responsiveness without sacrificing performance. In 1998, HRL started to develop JIT for the Java/400 based on Tokyo JIT 3.0 for AIX. We had to cope with the differences in processors — 32-bit PowerPC vs. 64-bit Amazon — differences in the AIX and SLIC operating systems, and different JVMs. JavaSoft and Java/400 use different data structures and have different runtime environments.

A first prototype was delivered to Rochester toward the end of 1998. The first version was completed in March 1999, and the code was integrated into V4r5 in January 2000. Currently, the default execution of Java/400 is with JIT enabled.


 

  About IBM  |  Privacy  |  Legal  |  Contact