A concurrent incremental garbage collector where tracking and
summarization of modified references is concurrent with application
operations. A card table is arranged with write barriers so that an
application's modification of objects in memory cards are memorialized in
the card table. The collector performs an atomic operation, e.g., a
compare-and-swap (CAS), on the card table to detect modified or written
to objects. Card table indicators of dirtied cards are reset or emptied
and the corresponding dirtied cards are scanned for the modifications and
the remembered sets updated. Another CAS is performed on the same card
table and if any dirtied cards are indicated the collector preserves the
card table with the dirtied indicators and operates on a distant card
table. If the CAS succeeds no modifications were made and the collector
operates on the next scheduled card table group.