Method and apparatus for performing byte-code optimization during pauses
AssigneeSun Microsystems, Inc.
InventorsUrs Holzle, Lars Bak
Life of this patent
Estimating the term…
Abstract
Methods and apparatus for dynamically compiling byte codes associated with methods during idle periods in the execution of a computer program are disclosed. The described methods are particularly suitable for use in computer systems that are arranged to execute both interpreted and compiled byte codes. In some embodiments, methods to be dynamically compiled are referenced in one or more lists. The lists may be prioritized to facilitate the compilation of the highest priority methods first. In one embodiment, a pair of compilation lists are provided with a first one of the compilation lists being created prior to processing the computer program while the other is created during the processing of the computer program.
Claims28
A computer-implemented method for dynamically compiling methods during an idle period in the processing of an executable computer program, the computer-implemented method comprising:
- identifying the idle period;
- identifying a first method selected from a plurality of methods during the idle period, the first method being suitable for compilation, the plurality of methods being included in the executable computer program, wherein the executable computer program includes both interpreted code and compiled code;
- and
- initializing a compilation of the first method, wherein the initialization of the compilation of the first method occurs during the idle period.
A computer-implemented method for dynamically compiling methods during a period of low activity in the overall processing of a computer program, the computer-implemented method comprising:
- identifying the period of low activity;
- identifying a first method selected from a plurality of methods during the period of low activity, the plurality of methods being included in the computer program, the first method being suitable for compilation;
- determining whether the first method is compiled, wherein the determination of whether the first method is compiled is made during the period of low activity;
- and
- initializing a compilation of the first method during the period of low activity when it is determined that the first method is not compiled.
A computer-implemented method for dynamically processing delayed tasks during an idle period in the processing of a computer program, the computer-implemented method comprising:
- identifying the idle period in the processing of the computer program;
- identifying a first task selected from a plurality of tasks during the idle period in the processing of the computer program, the plurality of tasks being included in the computer program, wherein the computer program includes both interpreted code and compiled code;
- and
- starting the first task, wherein the starting of the first task occurs during the idle period.
A computer system for dynamically compiling byte-coded methods during a period of low activity during the execution of a computer program, the methods being associated with the computer program, the computer system comprising:
- a mechanism for identifying the period of low activity during the execution of the computer program;
- a mechanism for identifying a first method selected from a plurality of methods during the period of low activity, wherein identifying the first method includes identifying whether the first method is suitable for compilation;
- and
- a compiler for initializing a compilation of the first method during the period of low activity.
A computer-readable medium including computer program code devices arranged to dynamically compile methods during an idle period in the processing of a computer program, the computer-readable medium comprising:
- computer program code devices that identify the idle period;
- computer program code devices that identify a first method selected from a plurality of methods during the idle period, the plurality of methods being included in the computer program, the first method being suitable for compilation;
- and
- computer program code devices that initialize a compilation of the first method during the idle period.
Dependencies are inferred from the claim text.