Patent ID: 7069281

Claim:
For operating a computer system that includes a memory as a garbage collector that reclaims space in the memory occupied by unreachable objects, method comprising: A) dividing a to space of the memory into local allocation buffers (LABs) with which respective fill thresholds are associated, the fill thresholds of at least some LABs being less than those LABs' capacities and greater than empty; B) adopting one said LAB at a time as a destination LAB and one said LAB at a time as a source LAB; C) performing an evacuation operation that includes repeatedly evacuating into the destination lab objects in a from space of the memory referred to by references in the source lab while: i) if the destination LAB becomes full, replacing that LAB with a new LAB as the destination LAB; ii) monitoring the level to which the destination LAB has been filled to determine when it reaches the destination LAB's fill threshold and, if the destination LAB is not already the source LAB when the level reaches the destination LAB's fill threshold: a) placing the source LAB on a LAB stack if the source LAB contains references to from-space objects that have not yet been evacuated; and b) adopting the destination LAB as the source LAB; and iii) if the source LAB is the destination LAB, no reference in the source LAB refers to an object in the from space that has not yet been evacuated, and at least one LAB remains on the LAB stack, adopting as the source LAB the last LAB added to the LAB stack; and D) reclaiming the from space.