An efficient, incremental, automatic garbage collector
- 1 September 1976
- journal article
- Published by Association for Computing Machinery (ACM) in Communications of the ACM
- Vol. 19 (9) , 522-526
- https://doi.org/10.1145/360336.360345
Abstract
This paper describes a new way of solving the storage reclamation problem for a system such as Lisp that allocates storage automatically from a heap, and does not require the programmer to give any indication that particular items are no longer useful or accessible. A reference count scheme for reclaiming non-self-referential structures, and a linearizing, compacting, copying scheme to reorganize all storage at the users discretion are proposed. The algorithms are designed to work well in systems which use multiple levels of storage, and large virtual address space. They depend on the fact that most cells are referenced exactly once, and that reference counts need only be accurate when storage is about to be reclaimed. A transaction file stores changes to reference counts, and a multiple reference table stores the count for items which are referenced more than once.Keywords
This publication has 4 references indexed in Scilit:
- An empirical study of list structure in LispCommunications of the ACM, 1977
- A note on hash linkingCommunications of the ACM, 1975
- A LISP garbage-collector for virtual-memory computer systemsCommunications of the ACM, 1969
- Structure of a LISP system using two-level storageCommunications of the ACM, 1967