Bounded-pause time garbage collection system and method including write barrier associated with source and target instances of a partially relocated object
First Claim
1. An apparatus comprising:
- memory storage, wherein objects formed therein are relocatable from respective FromSpace instances to respective ToSpace instances thereof;
a partially relocated object identifier store updatable to identify a FromSpace instance and a ToSpace instance of a particular one of said objects, if any, for which relocation is incomplete; and
a write barrier to a store-oriented memory access targeting either of said FromSpace and said ToSpace instances of said particular object, wherein said write barrier maintains consistency between said ToSpace instance and at least a copied portion of said FromSpace instance, and wherein said write barrier allows incremental update of pointers to said particular object.
2 Assignments
0 Petitions
Accused Products
Abstract
A partially relocated object identifier store including "copy from" identifier and "copy to" identifier storage accessible to write barrier logic allows the write barrier logic to maintain consistency between FromSpace and ToSpace instances of a partially relocated memory object without software trap handler overhead. Optional "How far" indication storage facilitates differentiation by the write barrier logic between a copied portion and an uncopied portion of the partially relocated memory object. An optional "mode" indication facilitates differentiation by the write barrier logic between a copy phase and a pointer update phase of relocation by the garbage collector implementation. In some embodiments, pointer update and copying phases may overlap. "Copy to" identifier storage facilitates broadcast of a store-oriented memory access to the FromSpace instance to both FromSpace and ToSpace instances. Similarly, during pointer update, "Copy to" and "Copy From" identifier storage facilitate broadcast of a store-oriented memory access to either the FromSpace instance or the ToSpace instance to both FromSpace and ToSpace instances.
103 Citations
38 Claims
-
1. An apparatus comprising:
-
memory storage, wherein objects formed therein are relocatable from respective FromSpace instances to respective ToSpace instances thereof; a partially relocated object identifier store updatable to identify a FromSpace instance and a ToSpace instance of a particular one of said objects, if any, for which relocation is incomplete; and a write barrier to a store-oriented memory access targeting either of said FromSpace and said ToSpace instances of said particular object, wherein said write barrier maintains consistency between said ToSpace instance and at least a copied portion of said FromSpace instance, and wherein said write barrier allows incremental update of pointers to said particular object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30)
-
-
28. A garbage collection system to manage memory object instance consistency during relocation of a particular memory object in a computer system providing bounded pause-time relocation of said particular memory object using incremental copying of said particular object from a FromSpace instance to a ToSpace instance thereof and using incremental update of direct referencing pointers thereto, said garbage collection system comprising:
-
a partially relocated object identifier store including identifier fields for said FromSpace and said ToSpace instances; write barrier logic responsive to a correspondence between a target object identifier for a store-oriented mutator process access to said particular object and contents of either of said FromSpace and said ToSpace instance identifier fields, wherein said write barrier maintains consistency between said FromSpace and said ToSpace instances during said incremental copying and during said incremental update of pointers.
-
-
31. A method for relocating a memory object with bounded pause time impact on a mutator process having access thereto, said method comprising:
-
configuring a write barrier to respond to store-oriented accesses of said mutator process targeting either of a From instance and a To instance of said memory object; incrementally copying said memory object from said From instance to said To instance; during said incremental copying and in response to a first of said store-oriented accesses, broadcasting said first store-oriented access to both said From and said To instances. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38)
-
Specification