Embodiments of a system and method for transactional memory (TM) with
automatic object versioning are described. Embodiments described herein
include a TM system and method that facilitates the execution of
object-oriented application programs in a transactional environment,
including automatically versioning objects to enhance efficiency.
Embodiments of the TM automatically designate versions of objects using
pointers, accurately identifying usable and unusable versions. Object
versioning as described herein allows the garbage collector to easily and
efficiently determine which objects may be moved, freeing memory space
and reducing the number of objects traversed by a transaction before
finding a useable version of an object. Other embodiments are described
and claimed.