JUST-IN-TIME COMPILER SUPPORT FOR INTERRUPTIBLE CODE
First Claim
1. A method for performing inlining in a just-in-time compiler, the method comprising the computer implemented steps of:
- beginning compilation of a first code of a program, wherein the first code comprises one of an interruptible code and a non-interruptible code;
establishing a try region around a second code of the program to establish a wrapped second code, wherein the try region comprises a boundary between interruptible and non-interruptible code such that a third code that modifies an observable state of the program cannot be moved across the boundary, and wherein the second code comprises, relative to the first code, the other of the interruptible code and the non-interruptible code;
inlining the wrapped second code with the first code during compilation;
completing compilation of the first code to form a resultant code; and
storing the resultant code.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer implemented method for performing inlining in a just-in-time compiler. Compilation of a first code of a program is begun. The first code is one of an interruptible code and a non-interruptible code. A try region is established around a second code of the program to form a wrapped second code. The try region is a boundary between interruptible and non-interruptible code such that a third code that modifies an observable state of the program cannot be moved across the boundary. The second code is, relative to the first code, the other of the interruptible code and the non-interruptible code. The wrapped second code is inlined with the first code during compilation. Compilation of the first code is completed to form a resultant code. The resultant code is stored.
-
Citations
20 Claims
-
1. A method for performing inlining in a just-in-time compiler, the method comprising the computer implemented steps of:
-
beginning compilation of a first code of a program, wherein the first code comprises one of an interruptible code and a non-interruptible code; establishing a try region around a second code of the program to establish a wrapped second code, wherein the try region comprises a boundary between interruptible and non-interruptible code such that a third code that modifies an observable state of the program cannot be moved across the boundary, and wherein the second code comprises, relative to the first code, the other of the interruptible code and the non-interruptible code; inlining the wrapped second code with the first code during compilation; completing compilation of the first code to form a resultant code; and storing the resultant code. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer program product comprising:
-
a computer usable medium having computer usable program code for performing inlining in a just-in-time compiler, the computer program product including; computer usable program code for beginning compilation of a first code of a program, wherein the first code comprises one of an interruptible code and a non-interruptible code; computer usable program code for establishing a try region around a second code of the program to form a wrapped second code, wherein the try region comprises a boundary between interruptible and non-interruptible code such that a third code that modifies an observable state of the program cannot be moved across the boundary, and wherein the second code comprises, relative to the first code, the other of the interruptible code and the non-interruptible code; computer usable program code for inlining the wrapped second code with the first code during compilation; and computer usable program code for completing compilation of the first code to form a resultant code. - View Dependent Claims (14, 15, 16)
-
-
17. A data processing system comprising:
-
a bus; at least one processor coupled to the bus; a computer usable medium coupled to the bus, wherein the computer usable medium contains a set of instructions for performing inlining in a just-in-time compiler, wherein the at least one processor is adapted to carry out the set of instructions to; begin compilation of a first code of a program, wherein the first code comprises one of an interruptible code and a non-interruptible code; establish a try region around a second code of the program to form a wrapped second code, wherein the try region comprises a boundary between interruptible and non-interruptible code such that a third code that modifies an observable state of the program cannot be moved across the boundary, and wherein the second code comprises, relative to the first code, the other of the interruptible code and the non-interruptible code; inline the wrapped second code with the first code during compilation; and complete compilation of the first code to form a resultant code. - View Dependent Claims (18, 19, 20)
-
Specification