Browse Prior Art Database

Automatically Generating An Escape Analysis Database For A Just In Time (JIT) Compiler Disclosure Number: IPCOM000020005D
Original Publication Date: 2003-Oct-17
Included in the Prior Art Database: 2003-Oct-17
Document File: 1 page(s) / 40K

Publishing Venue



The Escape Analysis (EA) optimization in the IBM Developer Kit for Java (version 1.3.1, 1.4.0 and 1.4.1) retains a database of summary information as it processes methods. This summary information is used to enable more effective EA when subsequent methods are processed. By building a database containing the summary information for methods in standard Java classes when the Just In Time (JIT) compiler is constructed, the EA optimization performed for methods that invoke these standard methods is enhanced.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 65% of the total text.

Page 1 of 1

  Automatically Generating An Escape Analysis Database For A Just In Time (JIT) Compiler

   A process is disclosed that improves the Escape Analysis (EA) optimization of the Just In Time (JIT) compiler in IBM's Developer Kit for Java. EA is an inter-procedural analysis (IPA) type optimization. Suppose method x invokes method y. The effectiveness of EA when applied to x depends on what the compiler knows about the EA characteristics of y. If y has not been compiled at the point in time when x is compiled, the compiler must make pessimistic assumptions. The effectiveness of the optimization is, therefore, dependent to a large extent on the order of compilation of methods. This order is determined by many factors but the usefulness to EA is not among them.

When the JIT processes a method (say y) it retains summary information about the method in an internal database. When it processes a method that invokes y (say method x) it consults this database. It has a small built-in database of EA information about specific methods in standard Java classes. This invention describes the construction of the internal database.

The steps are as follows:

The JIT is built with an empty database. That is, it has no knowledge of the EA characteristics of

any methods. A set of carefully written programs is executed using this JIT which is set to operate in a special

The programs are written such that methods will be encountered by the JIT so as to discover

the EA characteristics of methods...