Abstract
Conservative garbage collectors can automatically reclaim unused memory in the absence of precise pointer location information. If a location can possibly contain a pointer, it is treated by the collector as though it contained a pointer. Although it is commonly assumed that this can lead to unbounded space use due to misidentified pointers, such extreme space use is rarely observed in practice, and then generally only if the number of misidentified pointers is itself unbounded.We show that if the program manipulates only data structures satisfying a simple GC-robustness criterion, then a bounded number of misidentified pointers can at most result in increasing space usage by a constant factor. We argue that nearly all common data structures are already GC-robust, and it is typically easy to identify and replace those that are not. Thus it becomes feasible to prove space bounds on programs collected by mildly conservative garbage collectors, such as the one in [2]. The worst-case space overhead introduced by such mild conservatism is comparable to the worst-case fragmentation overhead for inherent in any non-moving storage allocator.The same GC-robustness criterion also ensures the absence of temporary space leaks of the kind discussed in [13] for generational garbage collectors.
References
- 1 A. Appel. Compiling with Continuations. Cambridge University Press, 1992. Google Scholar
Digital Library
- 2 K. Barabash, , N. Buchbinder, T. Domani, B. K. Kolodner, Y. Ossia, S. S. Pinter, J. Shepherd, R. Sivan, and V. Umansky. Mostly accurate stack scanning. In Proceedings of the Usenix Java Virtual Machine gesearvh and Technology Symposium, April 2001. Google Scholar
Digital Library
- 3 J. F. Bartlett. Compacting garbage collection with ambiguous roots. Lisp Pointers, pages 3-12, April-June 1988.Google Scholar
Digital Library
- 4 H.-J. Boehm. Space efficient conservative garbage collection. In SIGPLAN '93 Confervnce on Programming Language Design and Implementation, pages 197-206, June 1993. Google Scholar
Digital Library
- 5 D. R. Chase. Safety considerations for storage allocation optimization. In SIGPLAN '88 Confervnce on Programming Language Design and Implementation, pages 1-10, June 1988. Google Scholar
Digital Library
- 6 W. D. Clinger. Proper tail recursion and space efficiency. In SIGPLAN '98 Conference on Programming Language Design and Implementation, pages 174-185, June 1998. Google Scholar
Digital Library
- 7 M. R. Garey and D. S. Johnson. Computers and Intractability: A Guide to the Theory of NiP-Completeness. W. H. Freeman and Company, 1979. Google Scholar
Digital Library
- 8 M. Hirzel and A. Diwan. On the type accuracy of garbage collection. In Proceedings of the International Symposium on Memory Management 2000, pages 1-11, October 2000. Google Scholar
Digital Library
- 9 R. L. Hudson and J. E. B. Moss. Incremental collection of mature objects. In Proceedings of the 1992 International Workshop on Memory Management (LNCS 637), pages 92-109. Springer, 1992. Google Scholar
Digital Library
- 10 S. Liang. The Java Native Interface: Programmer's Guide and Specification. Addison-Wesley, 1999. Google Scholar
Digital Library
- 11 J. M. Robson. An estimate of the store size necessary for dynamic storage allocation. Journal of the ACM, 18(3):416-42a, 1971. Google Scholar
Digital Library
- 12 J. M. Robson. Bounds for some functions concerning dynamic storage allocation. Journal of the AUM, 21(3):491-499, 1974. Google Scholar
Digital Library
- 13 N. Rojemo. Generational garbage collection without temporary space leaks. In Prvceedings of the 1995 International Workshop on Memory Management (LNCS 986), pages 145 162. Springer, 1995. Google Scholar
Digital Library
- 14 M. Serrano and H.-J. Boehm. Understanding memory allocation of Scheme programs. In Prvceedings of the 2000 International Confervnce on Functional Programming (ICFP), pages 245 256, 2000. Google Scholar
Digital Library
- 15 M. Wiser, A. Demers, and C. Hauser. The portable common runtime approach to interoperability. In Pwceedings of the 12th ACM Symposium on Operating Systems Principles, December 1989. Google Scholar
Digital Library
- 16 E. Wentworth. Pitfalls of conservative garbage collection. Sol, ware Practice and Experience, 20(7):719-727, 1990. Google Scholar
Digital Library
Index Terms
(auto-classified)Bounding space usage of conservative garbage collectors






Comments