During a collection interval, if a multi-threaded generational, copying
garbage collector finds that a card contains a reference to a younger
generation, it gives a corresponding card table entry a youngergen value
selected from a plurality of youngergen values at the beginning of the
interval as the "current" youngergen value. The youngergen value chosen
for a given collection interval differs from the one that was chosen for
the previous collection interval. As a result, a collector thread is able
to distinguish between a card in which a reference to the younger
generation remained at the end of the previous interval and one
identified by some other thread during the current interval as referring
to a young-generation object. In that way, the thread is able to avoid
unnecessary scanning.