Better placement of objects reachable from special objects during collection based on the train algorithm
First Claim
1. For employing a computer system, which includes memory, to perform garbage collection, a method comprising:
- A) treating a generation in the memory as divided into car sections organized into trains that have an oldest-to-youngest order;
B) collecting the generation in accordance with the train algorithm in collection increments, with which respective collection sets in the generation are associated, by, in at least some of the collection increments;
i) determining, for each reference that refers to a referred-to object in the collection set and is contained by a containing object located in the generation but outside the collection set, whether that reference satisfies a predetermined set of at least one relay criterion;
ii) if that reference satisfies the predetermined set of at least one relay criterion, evacuating the referred-to object to a train that is younger than that reference'"'"'s train and contains a reference to the containing object;
iii) if that reference does not satisfy the predetermined set of at least one relay criterion, evacuating the referred-to object to that reference'"'"'s train; and
iv) reclaiming the collection set.
2 Assignments
0 Petitions
Accused Products
Abstract
A garbage collector that operates in accordance with the train algorithm designates some cars as “special” cars into each of which at most a single object is allowed. When an object in a car being collected is referred to by a reference located in such a special car, the collector may depart from the conventional evacuation approach of placing the evacuated object into the train containing the reference referring to it. If the reference is located in an object referred to from a train younger than the train in which the reference is located, the referred-to object in the car being collected is not evacuated to the train that contains the reference to it. Instead, it is evacuated to the train from which the object containing that reference is referred to.
73 Citations
29 Claims
-
1. For employing a computer system, which includes memory, to perform garbage collection, a method comprising:
-
A) treating a generation in the memory as divided into car sections organized into trains that have an oldest-to-youngest order;
B) collecting the generation in accordance with the train algorithm in collection increments, with which respective collection sets in the generation are associated, by, in at least some of the collection increments;
i) determining, for each reference that refers to a referred-to object in the collection set and is contained by a containing object located in the generation but outside the collection set, whether that reference satisfies a predetermined set of at least one relay criterion;
ii) if that reference satisfies the predetermined set of at least one relay criterion, evacuating the referred-to object to a train that is younger than that reference'"'"'s train and contains a reference to the containing object;
iii) if that reference does not satisfy the predetermined set of at least one relay criterion, evacuating the referred-to object to that reference'"'"'s train; and
iv) reclaiming the collection set. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer system that includes memory and comprises:
-
A) processor circuitry operable to execute processor instructions;
B) memory circuitry, to which the processor circuitry is responsive, that contains processor instructions readable by the processor circuitry to configure the computer system as a garbage collector that collects the generation in accordance with the train algorithm in collection increments, with which respective collection sets in the generation are associated, by, in at least some of the collection increments;
i) determining, for each reference that refers to a referred-to object in the collection set and is contained by a containing object located in the generation but outside the collection set, whether that reference satisfies a predetermined set of at least one relay criterion;
ii) if that reference satisfies the predetermined set of at least one relay criterion, evacuating the referred-to object to a train that is younger than that reference'"'"'s train and contains a reference to the containing object;
iii) if that reference does not satisfy the predetermined set of at least one relay criterion, evacuating the referred-to object to that reference'"'"'s train; and
iv) reclaiming the collection set. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A storage medium containing instructions readable by a computer system including memory to configure the computer system to operate as a garbage collector that:
-
A) treats a generation in the memory as divided into car sections organized into trains that have an oldest-to-youngest order; and
B) collects the generation in accordance with the train algorithm in collection increments, with which respective collection sets in the generation are associated, by, in at least some of the collection increments;
i) determining, for each reference that refers to a referred-to object in the collection set and is contained by a containing object located in the generation but outside the collection set, whether that reference satisfies a predetermined set of at least one relay criterion;
ii) if that reference satisfies the predetermined set of at least one relay criterion, evacuating the referred-to object to a train that is younger than that reference'"'"'s train and contains a reference to the containing object;
iii) if that reference does not satisfy the predetermined set of at least one relay criterion, evacuating the referred-to object to that reference'"'"'s train; and
iv) reclaiming the collection set. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. An electromagnetic signal representing sequences of instructions that, when executed by a computer system that includes memory, cause it to operate as a garbage collector that:
-
A) treats a generation in the memory as divided into car sections organized into trains that have an oldest-to-youngest order; and
B) collects the generation in accordance with the train algorithm in collection increments, with which respective collection sets in the generation are associated, by, in at least some of the collection increments;
i) determining, for each reference that refers to a referred-to object in the collection set and is contained by a containing object located in the generation but outside the collection set, whether that reference satisfies a predetermined set of at least one relay criterion;
ii) if that reference satisfies the predetermined set of at least one relay criterion, evacuating the referred-to object to a train that is younger than that reference'"'"'s train and contains a reference to the containing object;
iii) if that reference does not satisfy the predetermined set of at least one relay criterion, evacuating the referred-to object to that reference'"'"'s train; and
iv) reclaiming the collection set. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
-
29. A garbage collector including:
-
A) means for treating a generation in a computer system'"'"'s memory as divided into car sections organized into trains that have an oldest-to-youngest order; and
B) means for collecting the generation in accordance with the train algorithm in collection increments, with which respective collection sets in the generation are associated, by, in at least some of the collection increments;
i) determining, for each reference that refers to a referred-to object in the collection set and is contained by a containing object located in the generation but outside the collection set, whether that reference satisfies a predetermined set of at least one relay criterion;
ii) if that reference satisfies the predetermined set of at least one relay criterion, evacuating the referred-to object to a train that is younger than that reference'"'"'s train and contains a reference to the containing object;
iii) if that reference does not satisfy the predetermined set of at least one relay criterion, evacuating the referred-to object to that reference'"'"'s train; and
iv) reclaiming the collection set.
-
Specification