Claims Analysis
Total Claims: 21
Claim 1
Independent Claim
118 words
A code generator for generating, from code in a program, native code executable by a computer system, the code generator comprising: A. a code portion receiver configured to receive a portion of the program code for which the native executable code is to be generated B. a synchronization statement detector configured to determine whether the received program code portion includes a statement for synchronizing access by multiple execution threads to at least one variable contained within the obtained code; and C. a native code generator configured to, in response to positive determination by said synchronization statement detector, generate native code for the synchronization statement including a wait-free synchronization construct to synchronize access to the at least one variable.
Claim 2
Dependent Claim
118 words
A code generator for generating, from code in a program, native code executable by a computer system, the code generator comprising: A. a code portion receiver configured to receive a portion of the program code for which the native executable code is to be generated B. a synchronization statement detector configured to determine whether the received program code portion includes a statement for synchronizing access by multiple execution threads to at least one variable contained within the obtained code; and C. a native code generator configured to, in response to positive determination by said synchronization statement detector, generate native code for the synchronization statement including a wait-free synchronization construct to synchronize access to the at least one variable.
Claim 3
Dependent Claim
36 words
A code generator as defined in claim 1 in which the native code generator is further configured to, in response to a negative determination by the synchronization statement detector, generate native code in a conventional manner.
Claim 4
Dependent Claim
180 words
A code generator as defined in claim 1 in which the native code generator is configured to generate the wait-free synchronization construct as including at least one native code instruction configured to enable the computer system to: A. retrieve a value from a storage location for the variable; B. perform a predetermined operation in connection with the value to generate a modified value; C. perform an atomic compare-and-swap operation in connection with the value, the modified value and contents of the storage location to compare the value to the contents of the storage location and (i) if the value corresponds to the contents of the storage location, store the modified value in the storage location, but (ii) if the value does not correspond to the contents of the storage location, update the modified value with the contents of the storage location; D. compare the value and the modified value and, if the value and modified value correspond continue, but, if the value and modified value do not correspond, perform a subsequent iteration of the at least one native code instruction.
Claim 5
Dependent Claim
18 words
A code generator as defined in claim 1 in which the program includes instructions in Java Byte Code.
Claim 6
Dependent Claim
22 words
A code generator as defined in claim 1 in which the native code generator is in the form of a just-in-time compiler.
Claim 7
Dependent Claim
43 words
A code generator as defined in claim 1 in which, if the synchronization statement detector detects synchronization statements for synchronizing access to a plurality of variables, the native code generator generates a wait-free synchronization construct associated with each of said plurality of variables.
Claim 8
Dependent Claim
106 words
A code generation method for generating, from code in a program, native code executable by a computer system, the code generation method comprising the steps of: A. receiving a portion of the program code for which the native executable code is to be generated B. determining whether the received program code portion includes a statement for synchronizing access by multiple execution threads to at least one variable contained within the obtained code; and C. in response to positive determination during said synchronization statement determination step, generate native code for the synchronization statement including a wait-free synchronization construct to synchronize access to the at least one variable.
Claim 9
Dependent Claim
106 words
A code generation method for generating, from code in a program, native code executable by a computer system, the code generation method comprising the steps of: A. receiving a portion of the program code for which the native executable code is to be generated B. determining whether the received program code portion includes a statement for synchronizing access by multiple execution threads to at least one variable contained within the obtained code; and C. in response to positive determination during said synchronization statement determination step, generate native code for the synchronization statement including a wait-free synchronization construct to synchronize access to the at least one variable.
Claim 10
Dependent Claim
38 words
A code generation method as defined in claim 7 in which the native code generation step includes the step of, in response to a negative determination by the synchronization statement detector, generating native code in a conventional manner.
Claim 11
Dependent Claim
183 words
A code generation method as defined in claim 7 in which the native code generation step includes the step of generating the wait-free synchronization construct to include at least one native code instruction configured to enable the computer system to: A. retrieve a value from a storage location for the variable; B. perform a predetermined operation in connection with the value to generate a modified value; C. perform an atomic compare-and-swap operation in connection with the value, the modified value and contents of the storage location to compare the value to the contents of the storage location and (i) if the value corresponds to the contents of the storage location, store the modified value in the storage location, but (ii) if the value does not correspond to the contents of the storage location, update the modified value with the contents of the storage location; D. compare the value and the modified value and, if the value and modified value correspond continue, but, if the value and modified value do not correspond, perform a subsequent iteration of the at least one native code instruction.
Claim 12
Dependent Claim
19 words
A code generation method as defined in claim 7 in which the program includes instructions in Java Byte Code.
Claim 13
Dependent Claim
24 words
A code generation method as defined in claim 7 in which the native code generating step includes the step of using a just-in-time compiler.
Claim 14
Dependent Claim
54 words
A code generation method as defined in claim 7 in which, if the synchronization statement determination step includes the step of detecting synchronization statements for synchronizing access to a plurality of variables, the native code generation step including the step of generating a wait-free synchronization construct associated with each of said plurality of variables.
Claim 15
Dependent Claim
153 words
A computer program product for use in connection with a computer to provide a code generator for generating, from code in a program, native code executable by a computer system, the computer program product comprising a computer-readable medium having encoded thereon: A. a code portion receiver module configured to enable the computer to receive a portion of the program code for which the native executable code is to be generated B. a synchronization statement detector module configured to enable the computer to determining whether the received program code portion includes a statement for synchronizing access by multiple execution threads to at least one variable contained within the obtained code; and C. a native code generator module configured to enable the computer to, in response to positive determination by said synchronization statement detector, generate native code for the synchronization statement including a wait-free synchronization construct to synchronize access to the at least one variable.
Claim 16
Dependent Claim
153 words
A computer program product for use in connection with a computer to provide a code generator for generating, from code in a program, native code executable by a computer system, the computer program product comprising a computer-readable medium having encoded thereon: A. a code portion receiver module configured to enable the computer to receive a portion of the program code for which the native executable code is to be generated B. a synchronization statement detector module configured to enable the computer to determining whether the received program code portion includes a statement for synchronizing access by multiple execution threads to at least one variable contained within the obtained code; and C. a native code generator module configured to enable the computer to, in response to positive determination by said synchronization statement detector, generate native code for the synchronization statement including a wait-free synchronization construct to synchronize access to the at least one variable.
Claim 17
Dependent Claim
45 words
A computer program product as defined in claim 13 in which the native code generator module is further configured to enable the computer to, in response to a negative determnination during execution of the synchronization statement detector module, generate native code in a conventional manner.
Claim 18
Dependent Claim
186 words
A computer program product as defined in claim 13 in which the native code generator module is configured to enable the computer to generate the wait-free synchronization construct as including at least one native code instruction configured to enable the computer system to: A. retrieve a value from a storage location for the variable; B. perform a predetermined operation in connection with the value to generate a modified value; C. perform an atomic compare-and-swap operation in connection with the value, the modified value and contents of the storage location to compare the value to the contents of the storage location and (i) if the value corresponds to the contents of the storage location, store the modified value in the storage location, but (ii) if the value does not correspond to the contents of the storage location, update the modified value with the contents of the storage location; D. compare the value and the modified value and, if the value and modified value correspond continue, but, if the value and modified value do not correspond, perform a subsequent iteration of the at least one native code instruction.
Claim 19
Dependent Claim
19 words
A computer program product as defined in claim 13 in which the program includes instructions in Java Byte Code.
Claim 20
Dependent Claim
24 words
A computer program product as defined in claim 13 in which the native code generator module is in the form of a just-in-time compiler.
Claim 21
Dependent Claim
51 words
A computer program product as defined in claim 13 in which, if the synchronization statement detector module enables the computer to detect synchronization statements for synchronizing access to a plurality of variables, the native code generator enables generation of a wait-free synchronization construct associated with each of said plurality of variables.