Patent ID: 7269694

Claim:
A method for selectively monitoring load instructions to support transactional execution of a process, comprising: starting a transactional execution of a block of instructions in a program, wherein starting the transactional execution involves executing an explicit instruction implemented in hardware to start the transactional execution; encountering a load instruction during the transactional execution, wherein changes made during the transactional execution are not committed to the architectural state of a processor until the transactional execution successfully completes; determining whether the load instruction is a monitored load instruction or an unmonitored load instruction by analyzing the load instruction; if the load instruction is a monitored load instruction, performing a corresponding load operation, and load-marking a cache line associated with the load instruction to facilitate subsequent detection of an interfering data access to the cache line from another process; and if the load instruction is an unmonitored load instruction, performing the corresponding load operation without load-marking the cache line.