Patent ID: 7555619

Claim:
A method for determining if an object in a transactional memory system has been modified during a transaction, the method comprising, under control of a first thread: recording snapshot data at a first point in time from an object that will be accessed in a transaction to create a first snapshot for the object, the object comprising snapshot data; recording snapshot data from the object at a second point in time from the object to create a second snapshot for the object; comparing the first snapshot to the second snapshot; and if the second snapshot is unchanged from the first snapshot, performing fast-path commit procedures which utilize knowledge of a similarity of the snapshots; if the second snapshot has changed from the first snapshot, performing traditional commit procedures; and under control of a second thread: receiving an indication that the object is to be modified; and modifying snapshot data of the object; wherein: the representation of the object in memory comprises a multi-use header word which comprises, at a first point in time, a transactional memory word; recording snapshot data for the object as a snapshot comprises recording the value of its multi-use header word; when the object is open for update, the transactional memory word contains an indicator of a transaction which has opened the object; and otherwise, the transactional memory word contains a version number for the object.