> You're conflating dead object detection with GC. Don't--the two things are
> separate and if you think of them that way it makes things clearer.
>
> ># Well, if we use a copying GC, but never move the PMC,
> ># then how are we
> ># freeing these PMCs?
>
> The dead object detection phase notes them. They're destroyed if necesary,
> then thrown back in the interpreter's PMC pool.
>
> [Fairly complex GC scheme snipped]
Sorry to be obtuse but I don't see how you can consider both separate. What
you call dead object detection sounds like the mark phase of a mark and
sweep
collector but this belongs to the collector.  Some collector do not have two
distinct steps for how they find if an object is garbage and what they do to
garbage (or live object) such as copying collector wich do it in one pass.
Can you explain what you mean by GC if it doesn't detect the garbage? Can
you point at some literature explaining it?  I believe that this is a very
well studied field for both compiled and interpreted languages but normally
the garbage detection, the read and/or write barrier and the actual handling
of the garbage are all consider part of the collector.
Benoit

Reply via email to