Reference-counting subsumption analysis
First Claim
1. A method of lowering a number of reference-counting updates in a program utilizing reference-counting garbage collection, the method comprising:
- determining subsumed references which are subsumed by subsuming references in the program; and
removing reference-counting updates on the subsumed references.
2 Assignments
0 Petitions
Accused Products
Abstract
An eager reference-counting garbage collection system performs a static analysis on the intermediate representation of a program. The system then uses liveness information to inject eager reference-counting updates into the program. Through the use of the liveness information, reference-counting decrements can be made earlier in execution than in traditional reference-counting schemes, freeing up memory more efficiently. Additionally, a reference-counting subsumption optimization tool identifies redundant reference-counting updates and removes them, lowering the number of garbage collection update calls and improving execution throughput. Reference-counting subsumption can also be used as a throughput enhancer in traditional reference-counting schemes that maintain up-to-date tallies of references from the stack.
21 Citations
20 Claims
-
1. A method of lowering a number of reference-counting updates in a program utilizing reference-counting garbage collection, the method comprising:
-
determining subsumed references which are subsumed by subsuming references in the program; and
removing reference-counting updates on the subsumed references. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer-executable program analysis system for determining redundant reference-counting updates in a program, the system comprising:
a reference-counting subsumption analysis module which is configured to accept a control-flow graph for a program and produce one or more reference-counting subsumption graphs which indicate references in the control-flow graph that are subsumed by other references. - View Dependent Claims (14, 15, 16)
-
17. One or more computer-readable media comprising computer-executable instructions for performing a method for identifying unnecessary reference-counting updates in a function contained in a program that uses reference-counting garbage collection, the method comprising:
-
determining references which are subsumed in the function; and
removing reference-counting updates for the subsumed references from the function. - View Dependent Claims (18, 19, 20)
-
Specification