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 |
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.
|