DESIGN ALTERNATIVES FOR A COOPERATIVE GARBAGE COLLECTOR FOR THE C++ PROGRAMMING LANGUAGE

Date
1991-01-01
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Currently, conservative garbage collectors for C++ are the collectors which enjoy the most use. While prototype cooperative collectors have been written for C++, the language does not support either a type-safe or a reliable cooperative collector. This report examines design alternatives for adding support to the C++ programming language for cooperative garbage collection and discusses in detail alternatives which provide language support for user defined cooperative collectors. This report concludes that no C++ collector supporting multiple storage classes can be completely cooperative. Furthermore, language-recognized parameterized smart pointer types show promise both for supporting user defined collectors and for supporting persistent object caches, distributed object stores and other kinds of storage managers. Further research is needed however, in the areas of type inquiry and the coordination of multiple storage managers, before any parameterized smart pointer proposal can be completed. This discussion is based on experiments with a compacting, cooperative collector in existing implementations of C++. The changes to the language discussed in this report have not yet been implemented.
Description
Keywords
Computer Science
Citation