Here's a starting point: http://reality.sgi.com/boehm_mti/pubs.html
Conservative GC works by considering any number in the heap or on the
stack that could be a pointer as if it really was a pointer. Blocks
that are not referenced are freed. Apparently it has a surprisingly
low impact on performance. The Mercury people used it to bootstrap
their compiler and have been using it for two or three years now with
no ill effects.
Cheers,
Ralph
-- Ralph Becket | rwab1@cam.sri.com | http://www.cam.sri.com/people/becket.html