Patent attributes
Aspects of the subject technology relate to concurrent marking of objects in memory. A garbage collection process accesses objects in a marking deque. The objects have status indicators which can be unmarked, pending, processing, and marked. For each object in the marking deque, the garbage collection process determines whether the object is marked. If the object is not marked, the garbage collection process determines whether the object is pending. If the object is pending, the garbage collection process sets the object to processing. The garbage collection process adds objects referenced by the object to the marking deque and determines if the object is marked. If the object is marked already, the garbage collection process removes the referenced objects from the marking deque. If the object was not marked, the garbage collection process marks the object and processes the referenced objects. A mutator process may also update the status indicators for the objects.