Good news! The PRISM website is available for submissions. The planned data migration to the Scholaris server has been successfully completed. We’d love to hear your feedback at openservices@ucalgary.libanswers.com
 

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

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

Citation