Patent ID: 7092978

Claim:
A computer-implemented method operating in the memory of a computer system, for executing in a plurality of execution threads a copying garbage collector that collects by evacuating to a to-space from a from-space at least any objects in the from-space that are reachable from the to-space and reclaiming the from-space for re-use, a method comprising: A) maintaining for each thread at least one linked list, associated with that thread, of evacuated objects containing references to potentially unevacuated objects by writing, in locations in the from-space from which that thread has evacuated objects that contained such references, links to other such locations; B) for each thread, processing objects in the list associated therewith by: i) scanning those objects for references to objects in the from-space that have not been evacuated; ii) if such a reference exists in an object in that list, evacuating the object to which that reference refers; and iii) if no such reference exists in a given object in that list, removing the given object from that list; and C) employing at least one of the threads to: i) scan for references to objects in the from-space that have not been evacuated at least one object in the list associated with another of the threads; and ii) if such a reference exists, evacuating the object to which that reference refers.