US 7,321,908 B2
Mostly concurrent garbage collection
Katherine Barabash, Haifa (Israel); Yoav Ossia, Haifa (Israel); and Erez Petrank, Haifa (Israel)
Assigned to International Business Machines Corporational, Armonk, N.Y. (US)
Filed on Jul. 23, 2003, as Appl. No. 10/625,048.
Prior Publication US 2005/0021576 A1, Jan. 27, 2005
Int. Cl. G06F 12/00 (2006.01); G06F 17/30 (2006.01)
U.S. Cl. 707—206  [711/148] 20 Claims
OG exemplary drawing
 
1. A method for collecting garbage in a computing environment, the method comprising:
a) tracing a root object to any of its reachable objects in a population of objects;
b) marking any of said objects referred to in step a);
c) tracing any of said marked objects to an unmarked referent object of said marked object;
d) marking said unmarked referent object;
e) tracing said referent object marked in step d) to any of its reachable objects;
f) marking any of said objects referred to in step e);
g) tracing any unmarked root object referent to any of its reachable objects;
h) marking any of said objects referred to in step g);
i) performing any of steps c)-f); and
j) designating any unmarked object in said population of objects as available for reallocation,
wherein either of steps a) and e) are performed for a given object only if the card to which the object belongs is not marked, wherein any of steps a)-f) are performed upon said population of objects concurrently with the operation of a mutator upon said population of objects within said computing environment, and wherein any of steps g)-j) are performed upon said population of objects while no mutator operates upon said population of objects within said computing environment.