Patent ID: 7590806

Claim:
A method for reducing the number of accesses to one or more software transactional memory logs during execution after receiving an instruction to log a transactional memory access at an accessed memory location, the logs configured to allow multiple log entries for the accessed memory location, the method comprising: maintaining a transaction sequence count; when entering a new transaction, incrementing the transaction sequence count; checking an associative table other than the log to determine if the accessed memory location has been accessed within a currently-open memory transaction; when checking the associative table indicates a previous access to the accessed memory location within the currently-open memory transaction, maintaining the log as it was before the instruction to log the access; and when checking the associative table does not indicate a previous access to the accessed memory location within the currently-open memory transaction: modifying the associative table to indicate an access to the accessed memory location from within the currently-open memory transaction by: modifying the accessed memory location to create a modified memory location value by modifying the accessed memory location to include a current value of the transaction sequence count; and entering the modified memory location value into an entry in the associative table which corresponds to the accessed memory location; and wherein checking the associative table comprises determining if the modified memory location value in the associative table is the same as the modified memory location value derived from the accessed memory location.