Affiliation:
1. Xerox Corporation, Palo Alto Research Center, 3333 Coyote Hill Rd., Palo Alto, CA
Abstract
Automatic storage management requires that one identify storage unreachable by a user's program and return it to free status. One technique maintains a count of the references from user's programs to each cell, since a count of zero implies the storage is unreachable. Reentrant structures are self-referencing; hence no cell in them will have a count of zero, even though the entire structure is unreachable. A modification of standard reference counting can be used to manaage the deallocation of a large class of frequently used reentrant structures, including two-way and circularly linked lists.
All the cells of a potentially reentrant structure are considered as part of a single group for deallocation purposes. Information associated with each cell specifies its group membership. Internal references (pointers from one cell of the group to another) are not reference counted. External references to any cell of this group are counted as references to the group as a whole. When the external reference count goes to zero, all the cells of the group can be deallocated. This paper describes several ways of specifying group membership, properties of each implementation, and properties of mutable and immutable group membership.
Publisher
Association for Computing Machinery (ACM)
Cited by
32 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Adding Support for Reference Counting in the D Programming Language;Proceedings of the 17th International Conference on Software Technologies;2022
2. Concurrent, parallel garbage collection in linear time;ACM SIGPLAN Notices;2015-05-11
3. An efficient on-the-fly cycle collection;ACM Transactions on Programming Languages and Systems;2007-08
4. New Algorithms and Applications of Cyclic Reference Counting;Lecture Notes in Computer Science;2006
5. An Efficient On-the-Fly Cycle Collection;Lecture Notes in Computer Science;2005