Generation isolation system and method for garbage collection
First Claim
1. An apparatus comprising:
- dynamically allocated storage wherein references to objects formed therein have generation membership tags associated therewith;
an intergenerational pointer store trap matrix including elements corresponding to store target object and store reference data generation pairs, wherein individual of said elements indicate whether said barrier should trap pointer stores of corresponding store reference data to a corresponding store target object; and
a write barrier to intergenerational pointer stores, wherein said write barrier traps a store instruction in response to selected correspondences between respective generation membership tags of a target object reference and of object reference data being stored into a target object identified by said target object reference, said selected correspondences encoded by said intergenerational pointer store trap matrix.
2 Assignments
0 Petitions
Accused Products
Abstract
Architectural support for generation isolation is provided through trapping of intergenerational pointer stores. Identification of pointer stores as intergenerational is performed by a store barrier responsive to an intergenerational pointer store trap matrix that is programmably encoded with store target object and store pointer data generation pairs to be trapped. The write barrier and intergenerational pointer store trap matrix provide a programmably-flexible definition of generation pairs to be trapped, affording a garbage collector implementer with support for a wide variety of generational garbage collection methods, including remembered set-based methods, card-marking type methods, write barrier based copying collector methods, etc., as well as combinations thereof and combinations including train algorithm type methods to managing mature portions of a generationally collected memory space. Pointer specific store instruction replacement allows implementations in accordance with this invention to provide an exact barrier to not only pointer stores, but to the specific intergenerational pointer stores of interest to a particular garbage collection method or combination of methods.
176 Citations
31 Claims
-
1. An apparatus comprising:
-
dynamically allocated storage wherein references to objects formed therein have generation membership tags associated therewith; an intergenerational pointer store trap matrix including elements corresponding to store target object and store reference data generation pairs, wherein individual of said elements indicate whether said barrier should trap pointer stores of corresponding store reference data to a corresponding store target object; and a write barrier to intergenerational pointer stores, wherein said write barrier traps a store instruction in response to selected correspondences between respective generation membership tags of a target object reference and of object reference data being stored into a target object identified by said target object reference, said selected correspondences encoded by said intergenerational pointer store trap matrix. - 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. A method for trapping intergenerational pointer stores comprising:
-
forming an intergenerational pointer store trap matrix in computer readable storage, the intergenerational pointer store trap matrix including elements corresponding to store target object and store reference data generation pairs, wherein individual of said elements indicate whether said barrier should trap pointer stores of corresponding store reference data to a corresponding store target object; indexing into said intergenerational pointer store trap matrix using generation membership tags respectively associated with a target object reference and object reference data being stored thereinto by a mutator process store operation; and selectively trapping based on upon a trap indication encoded at an element of said intergenerational pointer store trap matrix so indexed. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31)
-
Specification