Dennis Lee Bieber <wlfr...@ix.netcom.com> writes:
>> GC's for large systems ... copy the live objects to a new contiguous heap

>       That sounds suspiciously like the original Macintosh OS, with its
> "handles"... IE, double-indirection. 

Nah, a double indirection on every access would be a terrible
performance hit.  The classic approach is when you move an object to the
new heap, you leave a tagged forwarding pointer at its former location
the old heap, giving the its location in the new heap.  Then as you move
other objects, you dereference the pointers in them to see whether they
point to moved or unmoved objects, and relocate any unmoved ones.  A
more complete explanation is here:

http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-33.html#%_sec_5.3.2 
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to