|
ABSTRACT
Our research is concerned with compiler-independent, tag-free garbage collection for the C++ programming language. We have previously presented a copying collector based on root registration. This paper presents a mark-and-sweep garbage collector that ameliorates shortcomings of the previous collector. We describe the two collectors and discuss why the new one is an improvement over the old one. We have tested this collector and a conservative collector in a VLSI CAD application, and this paper discusses the differences. Currently this prototype of the collector imposes too much overhead on our application. We intend to solve that problem, and then use the techniques described in this paper to implement a generational Mark-and-Sweep collector for C++.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
App87
|
|
| |
App89
|
Andrew W. Appel. Runtime tags aren't necessary. In Lisp and Symbolic Computation, volume 2, pages 153-162, 1989.
|
| |
Ass91
|
Association for Computing Machinery. Proceedings of the SIGPLAN '91 Conference on Programming Language Design and Implementation. ACM Press, June 1991.
|
| |
Bar88
|
Joel F. Bartlett. Compacting garbage collection with ambiguous roots. Technical Report 88/2, Digital Equipment Corporation, Western Research Laboratory, Palo Alto, California, February 1988.
|
| |
Bar89
|
Joel F. Bartlett. Mostly copying garbage collection picks up generations and C++. Technical Report TN-12, DEC WRL, October 1989.
|
 |
BDS91
|
Hans-J. Boehm , Alan J. Demers , Scott Shenker, Mostly parallel garbage collection, Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation, p.157-164, June 24-28, 1991, Toronto, Ontario, Canada
|
| |
BW88
|
|
| |
CDG+88
|
L. CardeIIi, J. Donahue, L. Glassmaa, M. Jordan, B. Kalsow, and G. Nelson. Moduia-3 report. Technical report, Digital Systems Research Center and Olivetti Research Center, Palo Alto, CA, 1988.
|
 |
CUL89
|
C. Chambers , D. Ungar , E. Lee, An efficient implementation of SELF a dynamically-typed object-oriented language based on prototypes, Conference proceedings on Object-oriented programming systems, languages and applications, p.49-70, October 02-06, 1989, New Orleans, Louisiana, United States
|
| |
Det90
|
David Detlefs. Concurrent garbage collection for C++. Technical Report CMU-CS- 90-119, Carnegie Mellon, 1990.
|
| |
Ede90
|
|
| |
EP91
|
Daniel Edelson and Ira Pohl. A copying collector for C++. In Usenix C-~--t- Conference Proceedings {Use91}, pages 85-102.
|
 |
FY69
|
|
 |
Gol91
|
|
| |
GR83
|
|
| |
Ken91
|
Brian Kennedy. The features of the objectoriented abstract type hierarchy (OATH). In Usenix C++ Conference Proceedings
|
| |
Usegl
|
, pages 41-50.
|
| |
Knu73
|
|
| |
Lam83
|
Butler W. Lampson. A description of the Cedar language: A Cedar language reference manual. Technical Report CLS-83- 15, Xerox PARC, 1983.
|
| |
Lea91
|
Doug Lea. A memory allocator for libg+4-, 1991. private communication.
|
| |
Mey88
|
|
| |
RMC90
|
Vincent Russo, Peter W. Madany, and Roy H. Campbell. C++ and operating systems performance: A case study. in Usenix C++ Conference Proceedings, pages 103-114, San Francisco, CA, April 1990. Usenix Association.
|
| |
Rus91
|
Vincent Russo, 1991. Using the parallel Boehm/Weiser/Demers collector in an operating system: private communication.
|
| |
Ste84
|
|
| |
Str87
|
Bjarne Stroustrup. The evolution of C++ 1985 to 1987. In Usenix C++ Workshop Proceedings, pages 1-22, Santa Fe, NM, November 1987. Usenix Association.
|
| |
Str91
|
Bjarne Stroustrup. The C++ Reference Manual. Addison-Wesley, 2~d edition, 1991.
|
| |
Use91
|
Usenix Association. Usenix C+-/- Conference Proceedings, Washington, DC, April 1991.
|
| |
Wik87
|
|
| |
X3J91
|
ANSI Committee X3J16. Draft standard for programming language C++, May 1991.
|
CITED BY 8
|
|
|
|
|
|
|
|
Marc Shapiro , Peter Dickman , David Plainfossé, Robust, distributed references and acyclic garbage collection, Proceedings of the eleventh annual ACM symposium on Principles of distributed computing, p.135-146, August 10-12, 1992, Vancouver, British Columbia, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|