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] |
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