Next: The Implementation
Up: Garbage Collection in the Prop Library
Previous: The Framework
Our framework retains all the benefits and flexibilities of CMM,
while extending it in several minor but useful ways:
- Like CMM, interior pointers(i.e. pointers to the middle of an object)
and crossheap pointers (i.e. complex data structures linking nodes locating
in multiple logical heaps.) are supported. Pointers to collectable
objects are non-intrusive: i.e. they are normal C++ pointers
and not encapsulated in templates.
- Also like CMM, we allow multiple garbage collectors using different
algorithms to coexist. Unlike CMM, however, we allow multiple
Bartlett-style collectors to be instantiated. Most of the services
involving low level page management and object marking have been relegated
to a separate heap manager.
- We provide support for finalization and weakpointers.
- We have implemented blacklisting[Boe93] to reduce the chance
of false roots identification.
Allen Leung
Mon Apr 7 14:33:55 EDT 1997