Method and apparatus for removing class initialization barriers from shared compiled methods
AssigneeSun Microsystems, Inc.
InventorsLaurent P. Daynes, Grzegorz J. Czajkowski
Life of this patent
Estimating the term…
Loading patent…
AssigneeSun Microsystems, Inc.
InventorsLaurent P. Daynes, Grzegorz J. Czajkowski
Estimating the term…
The invention describes a method an apparatus to minimize the costs introduced in the native code of a method M in order to make it executable (concurrently or serially) by multiple tasks, wherein M's native code is produced by the dynamic compiler of a multitasking virtual machine. One embodiment of the present invention describes a mechanism that annotates the shared runtime representation of classes with information that identifies the particular event that triggered the initialization of these classes, and in particular, if that event is the execution of class initialization barrier from a method of another class. These annotations are then used during each dynamic compilation of a method M of a class C to determine when native code corresponding to a class initialization barrier needs to be generated in the task re-entrant native code produced by the dynamic compiler for M.
A method to indicate to a dynamic compiler of a multitasking virtual machine when the dynamic compiler can skip generating native code for a class initialization barrier when compiling a program method, wherein a runtime representation of classes by the multitasking virtual machine includes a shared runtime data structure that is shared by multiple tasks, and wherein a native code produced by the dynamic compiler extends the shared runtime data structure representing classes and can be executed serially or concurrently by multiple tasks of the multitasking virtual machine, the method comprising:
A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method to indicate to a dynamic compiler of a multitasking virtual machine when the dynamic compiler can skip generating native code for a class initialization barrier when compiling a program method, wherein a runtime representation of classes by the multitasking virtual machine includes a shared runtime data structure that is shared by multiple tasks, and wherein a native code produced by the dynamic compiler extends the shared runtime data structure representing classes and can be executed serially or concurrently by multiple tasks of the multitasking virtual machine, the method comprising:
An apparatus to indicate to a dynamic compiler of a multitasking virtual machine when the dynamic compiler can skip generating native code for a class initialization barrier when compiling a program method, wherein a runtime representation of classes by the multitasking virtual machine includes a shared runtime data structure that is shared by multiple tasks, and wherein a native code produced by the dynamic compiler extends the shared runtime data structure representing classes and can be executed serially or concurrently by multiple tasks of the multitasking virtual machine, comprising:
Dependencies are inferred from the claim text.