- 99 Downloads
A garbage collector for C++ should maintain the spirit of the language as much as possible and yet provide mechanisms for reliable development and debugging of programs utilizing garbage collection. This paper proposes a design of such a system, including a minimal set of language changes, and compile-time and runtime environment enhancements. The design provides support for many different kinds of garbage collection strategies (copying, mark and sweep, generational, ...), does not impose extensive overhead on runtime objects that do not use garbage collection, and imposes as few restrictions on programming style as possible.
KeywordsGarbage Collection Class Hierarchy Class Member Garbage Collector Member Function
Unable to display preview. Download preview PDF.
- Daniel Ross Edelson, “Dynamic Storage Reclamation in C++,” Master's Thesis, Univ. of California, Santa Cruz, UCSC-CRL-90-19, June 1990.Google Scholar
- Daniel Ross Edelson, “A Mark-and-Sweep Collector for C++,” Conference Record of the Nineteenth ACM Symposium on Principles of Programming Languages, Albuquerque, NM (Jan. 19–22, 1992).Google Scholar
- Daniel Ross Edelson & Ira Pohl, “A copying garbage collector for C++,” Usenix C++ Conference Proceedings, Washington, D.C.(Apr. 1991).Google Scholar
- Joel F. Bartlett, “Compacting Garbage Collection with Ambiguous Roots,” Digital Equipment Corp., Western Research Center, WRL 88/2, Feb. 1988.Google Scholar
- Joel F. Bartlett, “Mostly-Copying Collection Picks Up Generations and C++,” Digital Equipment Corp., Western Research Center, TN-12, Oct. 1989.Google Scholar
- David L. Detlefs, “Concurrent Garbage Collection for C++,” Carnegie-Mellon Univ., CMU-CS-90-119, Pittsburgh, PA, May 1990.Google Scholar
- Andrew Ginter, “Design Alternatives for a Cooperative Garbage Collector for the C++ Programming Language,” Dept. of Computer Science, Univ. of Calgary, Research Report No. 91/417/01, Calgary, Alberta, Canada, Jan. 1991.Google Scholar
- Bjarne Stroustrup, “The evolution of C++: 1985 to 1987,” USENIX C++ Workshop Proceedings (1987).Google Scholar
- Hans-Juergen Boehm & Mark Weiser,“Garbage Collection in an Uncooperative Environment,” Software-Practice Experience 18 (Sept. 1988), 807–820.Google Scholar
- Luca Cardelli, James Donahue, Lucille Glassman, Mick Jordan, Bill Kalsow & Greg Nelson, Modula-3 Report (revised), Digital Equipment Corp., Western Research Center, 1988.Google Scholar