Per-generation lists of weak pointers

Simon Marlow marlowsd at
Sun May 5 21:32:51 CEST 2013

Akio, I looked at your first patch, which mostly seems good.  The 
sequence at the beginning of deRefWeak certainly looks strange - I think 
it's ok, but it needs a comment.

One thing I'm confused about is the handling of DEAD_WEAK pointers.  You 
removed the StgDeadWeak struct - how is that possible?  I don't 
understand why DEAD_WEAK has 4 payload words, but StgDeadWeak has only 
one, and furthermore a DEAD_WEAK appears to have the link field in a 
different place from the WEAK closure.  Something is suspicious here.


More information about the ghc-devs mailing list