Claims Analysis
Total Claims: 9
Claim 1
Independent Claim
223 words
A method for performing garbage collection for an object defined within an object oriented programming system, the object including a variable storage area for storing both pointer variables and non-pointer variables associated with the object, the method comprising: associating a tagging bitmap with the object, each bit in the tagging bitmap specifying whether a corresponding variable in the variable storage area of the object contains a pointer variable; encountering the object during a garbage collection process, which operates by following pointers between objects in order to determine which objects are reachable through pointers, so that other non-reachable objects can be reclaimed; and following the pointer variables within the variable storage area of the object to other objects for garbage collection purposes by, using the tagging bitmap associated with the object to index a specific routine from a collection of routines, the collection of routines including a different routine for each possible tagging bitmap pattern, wherein the specific routine can assume by virtue of the prior indexing operation that certain variables in the variable storage area contain pointer variables, allowing the specific routine to follow the pointer variables without individually testing each variable to determine if the variable is a pointer variable, and executing the specific routine to follow the pointer variables in the variable storage area of the object to the other objects.
Claim 2
Dependent Claim
54 words
The method of claim 1, further comprising constructing a table containing starting addresses for routines in the collection of routines; and wherein the act of using the tagging bitmap to index the specific routine from the collection of routines involves looking up a starting address for the specific routine from the table of routines.
Claim 3
Dependent Claim
67 words
The method of claim 1, wherein the act of using the tagging bitmap associated with the object to index a specific routine involves: dividing the tagging bitmap into a plurality of smaller bitmaps; and using the plurality of smaller bitmaps to index a plurality of specific routines from the collection of routines in order to follow the pointer variables in the variable storage area of the object.
Claim 4
Independent Claim
242 words
An apparatus for performing garbage collection for an object defined within an object oriented programming system, the object including a variable storage area for storing both pointer variables and non-pointer variables associated with the object, the apparatus comprising: a central processing unit; a memory coupled to the central processing unit; a tagging mechanism configured to associate a tagging bitmap with the object, each bit in the tagging bitmap specifying whether a corresponding variable in the variable storage area of the object contains a pointer variable; a garbage collection mechanism configured to following pointers between objects in order to determine which objects are reachable through pointers, so that other non-reachable objects can be reclaimed; wherein the garbage collection mechanism is configured to follow the pointer variables within the variable storage area of the object to other objects for garbage collection purposes by, using the tagging bitmap associated with the object to index a specific routine from a collection of routines, the collection of routines including a different routine for each possible tagging bitmap pattern, wherein the specific routine can assume by virtue of the prior indexing operation that certain variables in the variable storage area contain pointer variables, allowing the specific routine to follow the pointer variables without individually testing each variable to determine if the variable is a pointer variable, and executing the specific routine to follow the pointer variables in the variable storage area of the object to the other objects.
Claim 5
Dependent Claim
57 words
The apparatus of claim 4, further comprising a table containing starting addresses for routines in the collection of routines; and wherein the garbage collection mechanism is configured to use the tagging bitmap to index the specific routine from the collection of routines by looking up a starting address for the specific routine from the table of routines.
Claim 6
Dependent Claim
57 words
The apparatus of claim 4, wherein the garbage collection mechanism is configured to: divide the tagging bitmap into a plurality of smaller bitmaps; and use the plurality of smaller bitmaps to index a plurality of specific routines from the collection of routines in order to follow the pointer variables in the variable storage area of the object.
Claim 7
Dependent Claim
240 words
A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for performing garbage collection for an object defined within an object oriented programming system, the object including a variable storage area for storing both pointer variables and non-pointer variables associated with the object, the method comprising: associating a tagging bitmap with the object, each bit in the tagging bitmap specifying whether a corresponding variable in the variable storage area of the object contains a pointer variable; encountering the object during a garbage collection process, which operates by following pointers between objects in order to determine which objects are reachable through pointers, so that other non-reachable objects can be reclaimed; and following the pointer variables within the variable storage area of the object to other objects for garbage collection purposes by, using the tagging bitmap associated with the object to index a specific routine from a collection of routines, the collection of routines including a different routine for each possible tagging bitmap pattern, wherein the specific routine can assume by virtue of the prior indexing operation that certain variables in the variable storage area contain pointer variables, allowing the specific routine to follow the pointer variables without individually testing each variable to determine if the variable is a pointer variable, and executing the specific routine to follow the pointer variables in the variable storage area of the object to the other objects.
Claim 8
Dependent Claim
59 words
The computer-readable storage medium of claim 7, wherein the method further comprises constructing a table containing starting addresses for routines in the collection of routines; and wherein the act of using the tagging bitmap to index the specific routine from the collection of routines involves looking up a starting address for the specific routine from the table of routines.
Claim 9
Dependent Claim
69 words
The computer-readable storage medium of claim 7, wherein the act of using the tagging bitmap associated with the object to index a specific routine involves: dividing the tagging bitmap into a plurality of smaller bitmaps; and using the plurality of smaller bitmaps to index a plurality of specific routines from the collection of routines in order to follow the pointer variables in the variable storage area of the object.