Method and apparatus for transforming java native interface function calls into simpler operations during just-in-time compilation
First Claim
1. A method in a data processing system for transforming native interface function calls into simpler operations during just-in-time compilation, the method comprising:
- constructing a list of shapes rendered in an intermediate language of a just-in-time compiler and representing a plurality of native interface function calls;
identifying a list of native interface function calls for possible transformation by matching the plurality of native interface function calls made in the native language program against the list of shapes;
performing a definition and use analysis on each of the list of identified native interface function calls by tracking a plurality of values passed as parameters to a plurality of arguments of native interface functions; and
transforming a portion of the list of native interface function calls into one of a constant, an internal just-in-time compiler operation, and a simpler intermediate representation using results of the definition and use analysis.
0 Assignments
0 Petitions
Accused Products
Abstract
A method, apparatus, and computer instructions for transforming JAVA Native Interface function calls to constants, internal just-in-time (JIT) compiler operations or simpler intermediate representation. A compiler generates plurality of intermediate representations for a plurality of native interface function calls. During inlining of native code, matching is performed on each native function call (against this list) and a list of native interface function calls is generated. For each native interface function call, a (JIT) call transformer attempts to replace the native interface function call with a constant, internal JIT compiler operation or a simpler intermediate representation depending on the type of native interface function call.
-
Citations
23 Claims
-
1. A method in a data processing system for transforming native interface function calls into simpler operations during just-in-time compilation, the method comprising:
-
constructing a list of shapes rendered in an intermediate language of a just-in-time compiler and representing a plurality of native interface function calls; identifying a list of native interface function calls for possible transformation by matching the plurality of native interface function calls made in the native language program against the list of shapes; performing a definition and use analysis on each of the list of identified native interface function calls by tracking a plurality of values passed as parameters to a plurality of arguments of native interface functions; and transforming a portion of the list of native interface function calls into one of a constant, an internal just-in-time compiler operation, and a simpler intermediate representation using results of the definition and use analysis. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A data processing system for transforming native interface function calls into simpler operations during just-in-time compilation, the data processing system comprising:
-
a processor and a memory communicatively coupled to the processor, the memory storing instructions comprising; a just-in-time compiler for constructing a list of shapes rendered in an intermediate language of a just-in-time compiler for a plurality of native interface function calls; a just-in-time compiler inliner for identifying, from the list of shapes, a list of native interface function calls for possible transformation; wherein the just-in-time compiler performs a definition and use analysis on the list of native interface function calls and a plurality of arguments passed to the native interface functions, wherein the definition and use analysis determines what variables are defined and where the defined variables are used; and a just-in-time call transformer for transforming a portion of the list of native interface function calls into one of a constant, an internal just-in-time compiler operation and a simpler intermediate representation using results of the definition and use analysis. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A computer program product in a computer recordable medium for transforming native interface function calls into simpler operations during just-in-time compilation, the computer program product comprising:
-
first instructions for constructing a list of intermediate representation shapes representing a plurality of native interface function calls; second instructions for identifying a list of native interface function calls for possible transformation by matching the plurality of native interface function calls made in the native language program against the list of shapes; third instructions for performing a definition and use analysis on each of the list of identified native interface function calls by tracking a plurality of values passed as parameters to a plurality of arguments of native interface functions, wherein the definition and use analysis determines what variables are defined and where the defined variables are used; and fourth instructions for transforming a portion of the list of native interface function calls into one of a constant, an internal just-in-time compiler operations and a simpler intermediate representation using results of the definition and use analysis. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
Specification