Patent ID: 8341133

Claim:
A method performed in a computer system, the method comprising: allocating a preferred write log memory with a predefined size of memory at a base address in a software transactional memory (STM) system; generating, with the STM system, a compressed transactional lock from the base address of the preferred write log memory and an address of a write log entry in the preferred write log memory in response to a call that opens an object for writing, the compressed transactional lock including an encoded pointer that identifies the write log entry in the preferred write log memory and a type indicator indicating whether that the compressed transactional lock is a write lock; storing, with the STM system, the compressed transactional lock into a first portion of a header of the object; generating, with the STM system, an uncompressed transactional lock from the compressed transactional lock and the base address in response to the header being accessed for another use, the uncompressed transactional lock identifying a corresponding write log entry in an additional write log memory; storing, with the STM system, the uncompressed transactional lock into an auxiliary memory; storing, with the STM system, an auxiliary pointer in the first portion of the header in place of the compressed transactional lock, the auxiliary pointer configured to locate the uncompressed transactional lock; and storing, with the STM system, a type indicator in the header to indicate whether the first portion of the header stores the compressed transactional lock or the auxiliary pointer.