Translating atomic read-modify-write accesses
First Claim
1. A system for translating atomic read-modify-write accesses, comprising:
- a 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.
31 Citations
28 Claims
-
1. A system for translating atomic read-modify-write accesses, comprising:
a 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, via a processor, 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, via the processor, whether the address is aligned; generating, via the processor, 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, via the processor, machine instructions of the second language to perform an atomic access for the address if the address is aligned; generating, via the processor, machine instructions of the second language to perform a non-atomic access for the address if the address is unaligned; and generating, via the processor, 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