Methods and apparatus for performing a concurrent garbage collection process
are disclosed. Preferably, upon detecting that less than a predetermined amount
of memory is available, a garbage collector instructs each operating thread to
self-enumerate to identify its associated live object reference root set, to report
the live object reference root set, and to subsequently suspend operation. Based
on the reported live object reference root sets, stale memory is identified and
released for future use by operating threads. The threads are then instructed to
resume operation.