Method for creating critical section code using a software wrapper for proactive synchronization within a computer system
First Claim
1. A method comprising:
- creating a high-level expression for requesting exclusive access to one or more memory resource addresses, wherein the high-level expression includes an ACQUIRE pseudo function call comprising one or more arguments associated with the one or more memory resource addresses; and
creating a low-level set of instructions by compiling the high-level expression, wherein the low-level set of instructions includes a specification phase for requesting exclusive access to the one or more memory resource addresses;
wherein in response to compiling the ACQUIRE pseudo function call, creating the specification phase of code including;
generating an instruction stream including LOCK-based memory reference instructions having a LOCK prefix based on computations performed on the one or more arguments; and
inserting an ACQUIRE instruction into the instruction stream.
3 Assignments
0 Petitions
Accused Products
Abstract
A method for creating critical section code using a software wrapper includes creating a high-level expression for requesting exclusive access to one or more memory resource addresses. The high-level expression may include an ACQUIRE function call that includes one or more arguments associated with the one or more memory resource addresses. The method may also include creating a low-level set of instructions by compiling the high-level expression into native instructions. The low-level set of instructions includes a specification phase for requesting exclusive access to the one or more memory resource addresses. In response to compiling the ACQUIRE function call, the method includes creating the specification phase of code, which may include generating an instruction stream having LOCK-based memory reference instructions having a LOCK prefix on the one or more arguments, and inserting an ACQUIRE instruction into the instruction stream.
-
Citations
18 Claims
-
1. A method comprising:
-
creating a high-level expression for requesting exclusive access to one or more memory resource addresses, wherein the high-level expression includes an ACQUIRE pseudo function call comprising one or more arguments associated with the one or more memory resource addresses; and
creating a low-level set of instructions by compiling the high-level expression, wherein the low-level set of instructions includes a specification phase for requesting exclusive access to the one or more memory resource addresses;
wherein in response to compiling the ACQUIRE pseudo function call, creating the specification phase of code including;
generating an instruction stream including LOCK-based memory reference instructions having a LOCK prefix based on computations performed on the one or more arguments; and
inserting an ACQUIRE instruction into the instruction stream. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method comprising:
-
providing to a compiler, a high-level expression including an ACQUIRE pseudo function call comprising one or more arguments associated with one or more memory resource addresses; and
the compiler creating a low-level set of instructions from the high-level expression, wherein the low-level set of instructions includes a specification phase for requesting exclusive access to the one or more memory resource addresses;
wherein the specification phase of code includes;
an instruction stream including LOCK-based memory instructions having a LOCK prefix based on computations performed on the one or more arguments; and
an ACQUIRE instruction inserted into the instruction stream after the LOCK-based memory instructions. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer readable medium including program instructions executable by a processor to:
-
create a low-level set of instructions by compiling a high-level expression that includes an ACQUIRE pseudo function call comprising one or more arguments associated with one or more memory resource addresses;
wherein the low-level set of instructions includes a critical code section for requesting exclusive access to the one or more memory resource addresses;
wherein in response to compiling the ACQUIRE pseudo function, the program instructions are further executable by the processor to;
generate an instruction stream including LOCK-based memory instructions having a LOCK prefix based on computations performed on the one or more arguments;
insert an ACQUIRE instruction into the instruction stream. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification