Space efficient conservative garbage collection

  • Authors:
  • Hans-Juergen Boehm

  • Affiliations:
  • -

  • Venue:
  • PLDI '93 Proceedings of the ACM SIGPLAN 1993 conference on Programming language design and implementation
  • Year:
  • 1993

Quantified Score

Hi-index 0.00

Visualization

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.