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.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference22 articles.
1. Standard X3.159-1989 American National $tan. dard for Information Systems - Programming Language - C American National Standards Institute Inc. Standard X3.159-1989 American National $tan. dard for Information Systems - Programming Language - C American National Standards Institute Inc.
2. Experiences creating a portable cedar
3. Bartlett Joel F. "Compacting garbage collection with ambiguous roots" Lisp Pointers 1 6 (April- June 1988) pp. 3-12. Bartlett Joel F. "Compacting garbage collection with ambiguous roots" Lisp Pointers 1 6 (April- June 1988) pp. 3-12.
4. 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. 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.
Cited by
55 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Towards Increased Datacenter Efficiency with Soft Memory;Proceedings of the 19th Workshop on Hot Topics in Operating Systems;2023-06-22
2. Fat Pointers for Temporal Memory Safety of C;Proceedings of the ACM on Programming Languages;2023-04-06
3. Dynamic code compression for JavaScript engine;Software: Practice and Experience;2023-02-04
4. Bibliography;Engineering a Compiler;2023
5. Implementing Procedures;Engineering a Compiler;2023