This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Outline for Guile Generational GC


Jim Blandy <jimb@red-bean.com> writes:

> I think the write barrier should record intergenerational pointers in
> a list.

Provided it isn't too memory heavy (and doesn't make the write barrier
too insane), this might be the best approach.
 
> Setting a bit and scanning at GC time is appealing, but by having to
> scan all old generations for pointers to younger objects, I think you
> lose most of the advantages of generational GC, since GC again becomes
> proportional to the total size of the heap.
> 

This is similar to the card marking scheme that was pointed out
earlier with the write barrier (I was just looking at the paper, I
think I got it at the oops site).

If a collection of generations that a particular heap segment can
point to is kept, it means looking at a small number of heap segments
(rather than all old generations) to find pointers for any particular
generation (and then, we only have to look at the objects that point
in the right direction). 

Both are a pain when an object changes to point to another generation.


-- 
Greg