[[ Aside: users of Internet Explorer may get a free calculator due to a security hole. See this page source and this description of the problem. ]]


The problem

To reclaim dead memory resources by discovering dynamically which are still `in use', and freeing those that are not. Actions may be attached to memory resources to be performed when it is first discovered they are free (finalization).

The notion of white/grey/black coloured pointer graph: The graph of memory resources defined by the pointers leading from one resource (object or node) to another has to be explored by the garbage collector to discover which pieces of it are disconnected from the wanted portion.

During this exploration, nodes in the graph as-yet-unvisited are termed "white", nodes visited but not explored from are termed "grey", and nodes both visited and explored from are "black".

By initially making all nodes white, and then exploring those nodes connected from the root set and labelling nodes with these notional colours, You eventually end up with live nodes labelled "black" and dead nodes (not in the region connected to the roots) are still "white". While there are still "grey" nodes, the GC clearly still has work to do. They denote an active fringe of work still to be done.

The dimensions of GC

The internet GC FAQ

This is currently maintained by David Chase, but may be being relocated due to domain changes.

There is also a (research oriented) mailing list on garbage collection, "gclist@iecc.com".

Harlequin's Memory Management Group GC pages NEW!

and the mirror site in the UK. [I have to admit a vested interest in this company!]

These pages contain a large bibliography and glossary.

Richard Jones' GC page NEW!

which includes information about the Garbage Collection book by him and Rafael Lins.

Basic Techniques

Other pages:

Last updated by markt@chaos.org.uk Tue 29th April 1997