TRANSLATING ATOMIC READ-MODIFY-WRITE ACCESSES
First Claim
1. A system for translating atomic read-modify-write accesses, comprising:
- a computer processor; and
a computer memory that stores instructions to cause the processor to;
determine that a machine instruction of a first language specifies an atomic read-modify-write access for an address;
generate machine instructions of a second language to perform an atomic access for the address if the address is aligned;
generate machine instructions of the second language to acquire a global lock if the address is unaligned;
generate machine instructions of the second language to perform a non-atomic access for the address if the address is unaligned; and
generate machine instructions of the second language to release the global lock if the address is unaligned.
1 Assignment
0 Petitions
Accused Products
Abstract
Various systems and methods for translating atomic read-modify-write accesses are described herein. In one example, a method includes determining that a machine instruction of a first language specifies an atomic read-modify-write access. The method includes generating machine instructions of the second language to perform an atomic access for the address if the address is aligned. The method includes generating machine instructions of a second language to acquire a global lock if the address is unaligned. Additionally, the method includes generating machine instructions of the second language to perform a non-atomic access for the address if the address is unaligned. Also, the method includes generating machine instructions of the second language to release the global lock if the address is unaligned.
-
Citations
28 Claims
-
1. A system for translating atomic read-modify-write accesses, comprising:
-
a computer processor; and a computer memory that stores instructions to cause the processor to; determine that a machine instruction of a first language specifies an atomic read-modify-write access for an address; generate machine instructions of a second language to perform an atomic access for the address if the address is aligned; generate machine instructions of the second language to acquire a global lock if the address is unaligned; generate machine instructions of the second language to perform a non-atomic access for the address if the address is unaligned; and generate machine instructions of the second language to release the global lock if the address is unaligned. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method for translating atomic read-modify-write accesses, comprising:
-
determining that a machine instruction of a first language specifies an atomic read-modify-write access wherein the first language is for a first processor; determining whether the address is aligned; generating machine instructions of a second language to acquire a global lock if the address is unaligned, wherein the second language is for a second processor; generating machine instructions of the second language to perform an atomic access for the address if the address is aligned; generating machine instructions of the second language to perform a non-atomic access for the address if the address is unaligned; and generating machine instructions of the second language to release the global lock if the address is unaligned. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. One or more computer-readable storage devices for storing computer-readable instructions that, when executed by one or more processing devices, cause the one or more processing devices to:
-
determine that a machine instruction of a first language specifies an atomic read-modify-write access; generate machine instructions of the second language to acquire a global lock if the address is unaligned; generate machine instructions of the second language to perform an atomic access for the address if the address is aligned; generate machine instructions of the second language to perform a non-atomic access for the address if the address is unaligned; and generate machine instructions of the second language to release the global lock if the alignment check determines the address is unaligned. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
Specification