felix winkelmann scripsit:

> Once data is in the heap,
> it is handled in a standard stop-and-copy manner with two semispaces between
> which data is copied back and forth on every major collection.

So, a classic Baker GC.  The trouble with those is, of course, that really
long-term data gets copied over and over and over ....  Have you considered
having a third generation of stuff that survives N semispace flips and then
is never GCed again?  This would require a write barrier in the second
generation as well, of course; but this seems to have worked well for
Smalltalk implementers.

> One point that makes things a bit complicated is dynamic resizing of the
> heap (second generation), but basically everything is just stop-and-copy.

Adding this third generation would eliminate the need to resize the
second generation if you go through and tenure stuff when the Tospace
is dangerously full.  The third generation of course just grows.

-- 
John Cowan  [EMAIL PROTECTED]  http://www.ccil.org/~cowan
Does anybody want any flotsam? / I've gotsam.
Does anybody want any jetsam? / I can getsam.
        --Ogden Nash, No Doctors Today, Thank You


_______________________________________________
Chicken-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to