DESIGN ALTERNATIVES FOR A COOPERATIVE GARBAGE COLLECTOR FOR THE C++ PROGRAMMING LANGUAGE
Date
1991-01-01
Authors
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