ACM Home Page
Please provide us with feedback. Feedback
Space efficient conservative garbage collection
Full text PdfPdf (1.03 MB)
Source Conference on Programming Language Design and Implementation archive
Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation table of contents
Albuquerque, New Mexico, United States
Pages: 197 - 206  
Year of Publication: 1993
ISBN:0-89791-598-4
Also published in ...
Author
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 56,   Citation Count: 40
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/155090.155109
What is a DOI?

ABSTRACT

We call a garbage collector conservative if it has only partial information about the location of pointers, and is thus forced to treat arbitrary bit patterns as though they might be pointers, in at least some cases. We show that some very inexpensive, but previously unused techniques can have dramatic impact on the effectiveness of conservative garbage collectors in reclaiming memory. Our most significant observation is that static data that appears to point to the heap should not result in misidentified references to the heap. The garbage collector has enough information to allocate around such references. We also observe that programming style has a significant impact on the amount of spuriously retained storage, typically even if the collector is not terribly conservative. Some fairly common C and C++ programming style significantly decrease the effectiveness of any garbage collector. These observations suffice to explain some of the different assessments of conservative collection that have appeared in the literature.


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.

 
1
Standard X3.159-1989, American National $tan. dard for Information Systems - Programming Language - C, American National Standards Institute, Inc.
2
 
3
Bartlett, Joel F. "Compacting garbage collection with ambiguous roots", Lisp Pointers 1, 6 (April- June 1988), pp. 3-12.
 
4
Bartlett, Joel F., Scheme -> C a Portable Schemeto-C Compiler, WRL Research Report 89/1, Digital Equipment Corporation Western Research Laboratory, January 1989.
 
5
Bartlett, Joel F., Mostly Copying Garbage Collection Picks Up Generations and C++, Technical Report TN-12, Digital Equipment Corporation Western Research Laboratory, October 1989.
 
6
 
7
Boehm, Hans-J., and David Chase, "A Proposal for Garbage-Collector-Safe C Compilation", The Journal of C Language Translation d, 2 (December 1992), pp. 126-141.
8
 
9
 
10
 
11
Cridlig, Regis, "An Optimizing ML to C Compiler'', A CM SIGPLAN Workshop on ML and its Applications, San Francisco, June 1992, David MacQueen, chair.
12
 
13
Detlefs, David L., "Concurrent Garbage Collection for C++", in Advanced Programming Language implementation, Peter Lee, ed., MIT Press, 1991.
14
15
 
16
Hastings, Reed, and Bob Joyce, "Fast Detection of Memory Leaks and Access Errors", Proceedings of the Winter '92 USENIX conference, pp. 125-136.
 
17
Omohundro, Stephen M., The Sather Language, ICSI, Berkeley, 1991.
18
 
19
Rovner, Paul, "On Adding Garbage Collection and Runtime Types to a Strongly-Typed Statically Checked, Concurrent Language", Technical Report CSL-84-7, Xerox Palo Alto Research Center, Palo Alto, CA, July 1985.
20
 
21
22
 
23
 
24
 
25
Zorn, Benjamin, "The Measured Cost of Conservative Garbage Collection", University of Colorado at Boulder, Department of Computer Science Technical Report CU-CS-573-92.

CITED BY  40