Garbage collection of linked data structures
- ISSN: 03600300
- DOI: 10.1145/356850.356854
A concise and unified view of the numerous existing algorithms for performing garbage collection of linked data structures is presented. The emphasis is on garbage collection proper, rather than on storage allocatlon. First, the classical garbage collection algorithms are reviewed, and their marking and collecting phases, with and without compacting, are discussed. Algorithms descnbing these phases are classified according to the type of cells to be collected: those for collecting single-sized cells are simpler than those for varimzed cells. Recently proposed algorithms are presented and compared with the classical ones. Special topics in garbage collection are also covered: the use of secondary and virtual storage, the use of reference counters, parallel and real-time collections, analyses of garbage collection algorithms, and language features whlch influence the design of collectors. The bibhography, wlth topical annotations, contains over 100 references.