Generational garbage collector on multiple heaps
First Claim
1. A computer-implemented method, the method comprising:
- determining a first set of objects, in a new space of a first heap, that include a reference to at least one object in a second heap;
marking a second set of objects in a new space of the second heap, wherein the second set of objects comprises wrapper objects that are reachable from spaces other than the new space of the first heap;
building an eden graph comprising a third set of objects in the new space of the second heap, wherein the third set of objects comprises unmarked wrapper objects in the new space of the second heap such that the third set of objects does not include objects from the second set of objects;
marking a fourth set of objects in the new space of the first heap based on reachability in the eden graph;
marking a fifth set of objects in the new space of the second heap, the fifth set of objects being based on the fourth set of objects; and
collecting a set of unmarked objects from the first heap and the second heap.
2 Assignments
0 Petitions
Accused Products
Abstract
The subject technology discloses configurations for determining a list of wrappers in a new space of a host heap that include a reference to at least one object in a guest heap; marking a set of objects in a new space of the guest heap; building an eden graph for the guest heap; marking a set of objects in the new space of the host heap based on a reachability in the eden graph; determining a list of marked wrappers from the host heap that are included in the eden graph of the guest heap; marking a set of wrappers in the new space of the guest heap that are included in the list of marked wrappers in the eden graph; and collecting a set of unmarked objects from the host heap and the guest heap.
-
Citations
24 Claims
-
1. A computer-implemented method, the method comprising:
-
determining a first set of objects, in a new space of a first heap, that include a reference to at least one object in a second heap; marking a second set of objects in a new space of the second heap, wherein the second set of objects comprises wrapper objects that are reachable from spaces other than the new space of the first heap; building an eden graph comprising a third set of objects in the new space of the second heap, wherein the third set of objects comprises unmarked wrapper objects in the new space of the second heap such that the third set of objects does not include objects from the second set of objects; marking a fourth set of objects in the new space of the first heap based on reachability in the eden graph; marking a fifth set of objects in the new space of the second heap, the fifth set of objects being based on the fourth set of objects; and collecting a set of unmarked objects from the first heap and the second heap. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A system, the system comprising:
-
one or more processors; a memory comprising instructions stored therein, which when executed by the one or more processors, cause the processors to perform operations comprising; determining a first set of objects in a new space of a first heap that include a reference to at least one object in a second heap; marking a second set of objects in a new space of the second heap, wherein the second set of objects comprises wrapper objects that are reachable from spaces other than the new space of the first heap; building eden graph comprising a third set of objects in the new space of the second heap, wherein the third set of objects comprises unmarked wrapper objects in the new space of the second heap such that the third set of objects does not include objects from the second set of objects; marking a fourth set of objects in the new space of the first heap based on reachability in the eden graph; marking a fifth set of objects in the new space of the second heap, the fifth set of objects being based on the fourth set of objects; and collecting a set of unmarked objects from the first heap and the second heap. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A non-transitory machine-readable medium comprising instructions stored therein, which when executed by a machine, cause the machine to perform operations comprising:
-
determining a first set of objects in a new space of a first heap that include a reference to at least one object in a second heap; marking a second set of objects in a new space of the second heap, wherein the second set of objects comprises wrapper objects that are reachable from spaces other than the new space of the first heap; building eden graph comprising a third set of objects in the new space of the second heap, wherein the third set of objects comprises unmarked wrapper objects in the new space of the second heap such that the third set of objects does not include objects from the second set of objects; marking a fourth set of objects in the new space of the first heap based on reachability in the eden graph; marking a fifth set of objects in the new space of the second heap, the fifth set of objects being based on the fourth set of objects; and collecting a set of unmarked objects from the first heap and the second heap.
-
Specification