Associative references in a garbage collected programming environment
AssigneeApple Inc.
InventorPatrick C. Beard
Life of this patent
Estimating the term…
Abstract
Associative references in a garbage collected programming environment is disclosed. An indication that an object is not reachable from any root object. The object is kept alive if it is determined by a garbage collection process, based at least in part on data other than data comprising the object or managed by an application with which the object is associated, that the object is associated with at least one other object that has been determined to be reachable.
Claims20
A method of managing memory, comprising:
- receiving an indication that an object is not reachable from any root object;
- and
- keeping the object alive if it is determined by a garbage collection process that the object is associated strongly with another object that has been determined to be reachable;
- wherein the garbage collection process is configured to check, prior to collecting said object determined to not be reachable from any root object, a data structure managed by the garbage collection process to determine which of at least a subset of other objects that have been determined to be reachable from a root object have references made other than through an entry in a global or local variable to one or more other objects, and to ensure said one or more other objects, if any, are kept alive.
A computer system comprising:
- a run time system configured to:
- receive an indication that an object is not reachable from any root object;
- and
- keep the object alive if it is determined by a garbage collection process that the object is associated strongly with another object that has been determined to be reachable;
- wherein the garbage collection process is configured to check, prior to collecting said object determined to not be reachable from any root object, a data structure managed by the garbage collection process to determine which of at least a subset of other objects that have been determined to be reachable from a root object have references made other than through an entry in a global or local variable to one or more other objects, and to ensure said one or more other objects, if any, are kept alive;
- and
- a memory configured to store said data structure managed by the garbage collection process.
A computer program product for managing memory, the computer program product being embodied in a computer readable medium and comprising computer instructions for:
- receiving an indication that an object is not reachable from any root object;
- and
- keeping the object alive if it is determined by a garbage collection process that the object is associated strongly with another object that has been determined to be reachable;
- wherein the garbage collection process is configured to check, prior to collecting said object determined to not be reachable from any root object, a data structure managed by the garbage collection process to determine which of at least a subset of other objects that have been determined to be reachable from a root object have references made other than through an entry in a global or local variable to one or more other objects, and to ensure said one or more other objects, if any, are kept alive.
Dependencies are inferred from the claim text.