Pre-Grant Publication Number: 20070198518
Filing Date: February 14, 2006
Inventors: Victor Luchangco, Virendra Marathe
Assignee: Sun Microsystems, Inc.
Current U.S. Classification: 707, 707/008000
Abstract

A system for implementing synchronized objects for software transactional memory comprises one or more processors and a memory comprising program instructions executable by the processor to implement a transactional-memory manager configured to coordinate memory access requests directed at the memory from a plurality of transactions. The transactional-memory manager records, within a collaborator record for a shared data object in the memory, identifications of a set of two or more transactions that have requested synchronization on the object. In response to a commit request from a given transaction of the set, the transactional-memory manager determines whether to commit or abort the given transaction based at least in part on the transactional states of other transactions in the set, examining the collaborator record to identify the other transactions.