Affiliation:
1. HP Laboratories, Palo Alto, CA
Abstract
Both type-accurate and conservative garbage collectors have gained in importance since the original paper was written. Managing unnecessary retention by conservative collectors continues to be an important problem. There appear to be few reimplementations of the techniques we described, but significantly refined descendents of the original implementation are alive and well inside a large number of applications.There has been later work both on quantifying space retention by conservative collectors, and on theoretical bounds for such retention.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 styles 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
Reference34 articles.
1. Hans-J. Boehm. A garbage collector for C and C++. http://www.hpl.hp.com/personal/Hans_Boehm/gc/. Hans-J. Boehm. A garbage collector for C and C++. http://www.hpl.hp.com/personal/Hans_Boehm/gc/.
2. Reducing garbage collector cache misses
3. Bounding space usage of conservative garbage collectors
4. Proper tail recursion and space efficiency
5. On the type accuracy of garbage collection
Cited by
4 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Sound garbage collection for C using pointer provenance;Proceedings of the ACM on Programming Languages;2020-11-13
2. Forkscan;Proceedings of the Twelfth European Conference on Computer Systems;2017-04-23
3. Automated memory leak detection for production use;Proceedings of the 36th International Conference on Software Engineering;2014-05-31
4. Detecting memory leaks through introspective dynamic behavior modelling using machine learning;Proceedings of the 36th International Conference on Software Engineering;2014-05-31