Compacting GC interacting with new codegen strangely

Edward Z. Yang ezyang at MIT.EDU
Sun Mar 6 16:36:21 CET 2011


Excerpts from Edward Z. Yang's message of Sat Mar 05 15:00:03 -0500 2011:
>     2. Change the code generator to not do untagged spills.

I tried a brief patch to do this, but the result segfaulted, and I decided
(1) might be more fruitful.

>     1. Investigate the operation of the compacting GC more closely
>        and figure out why it is adding a tag,

I have a question about the compacting GC: suppose I have a stack location
that points to an info table. I have some pointers pointing to it with tag bit
set to 0, and some other pointers pointing to it with tag bit 1.  Will the
compacting GC ever tag some of those former pointers, as a result of threading
or such?  Is this situation bad juju?

The plan is that I'm going to take my extensive notes from backwards analysis
and rewrite them into a coherent forwards story about the evolution of the
memory on that fateful GC, and hopefully that will clarify things a little
better.

Cheers,
Edward



More information about the Cvs-ghc mailing list