Just in time compiler technique
AssigneeInternational Business Machines Corporation
InventorsHideaki Komatsu, Hiroyuki Momose, Kazunori Ogata
Life of this patent
Estimating the term…
Loading patent…
AssigneeInternational Business Machines Corporation
InventorsHideaki Komatsu, Hiroyuki Momose, Kazunori Ogata
Estimating the term…
The present invention provides a compiler that can compile Java byte code at high speed while employing only limited resources. The technique converts byte code into intermediate code that employs, as an opcode, an address of an execution routine that corresponds to a byte code, and executes the execution routines in a sequential order corresponding to that of the intermediate code. The length of the intermediate code is constant and the bit location of the opcode is also constant. The execution routine is stored in sequential areas in a memory, and an offset of the execution routine group from the head address of the sequential memory area is employed as an opcode. Furthermore, by employing empty pipelines in the CPU, one part (operand generation and a jump) of an instruction group for jumping to the next intermediate code execution routine, and one part (prefetching of intermediate code and address calculation of a execution routine) of an instruction group for jumping to the next plus one intermediate execution routine can be executed in parallel to the original intermediate code process. Further, rule-based optimization using idioms is performed, without requiring analysis of the program structure.
A method for generating, from a first data sequence, a second data sequence, comprising the steps of:
A method for converting a byte code sequence into an intermediate code sequence, comprising the steps of:
Computer readable code stored on media and comprising a plurality of execution routines executable by a processor that can execute two or more instructions in one cycle, each of said plurality of execution routines including:
In a computing environment, a system for generating from a first kind of data sequence, a second kind of data sequence, comprising:
A system for converting a byte code sequence into an intermediate code sequence, comprising:
A computer program stored on storage medium for causing a computer to generate from a first kind of data sequence, a second kind of data sequence, said program comprising the steps of:
A computer program for causing a computer to convert a byte code sequence into an intermediate code sequence, said program comprising the steps of:
Dependencies are inferred from the claim text.