A method for concurrent garbage collection and mutator execution in a
computer system includes scanning a first cache line for a non-local bit.
The non-local bit is associated with a root object. A done bit associated
with the first cache line is set. A second cache line to find a first
object that is referenced by the root object is located. A mark bit and
the done bit associated with the second cache line are set. The first and
second cache lines are scanned for unset done bits. If an unset done bit
is detected in either the first or the second cache line, then the cache
line associated with the unset done bit is rescanned to determine whether
there are any modified object references.