X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FWeak.c;h=9cd70eb8afa32744f5f254ca987053954cab5f26;hb=836917992fb78f9eac97762cbe73af2302a7c63e;hp=db97eccedeacd54f058cb5dbbe0d78813d86de16;hpb=438596897ebbe25a07e1c82085cfbc5bdb00f09e;p=ghc-hetmet.git diff --git a/ghc/rts/Weak.c b/ghc/rts/Weak.c index db97ecc..9cd70eb 100644 --- a/ghc/rts/Weak.c +++ b/ghc/rts/Weak.c @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: Weak.c,v 1.2 1998/12/02 13:29:01 simonm Exp $ + * $Id: Weak.c,v 1.3 1999/01/13 17:25:49 simonm Exp $ * * Weak pointers / finalisers * @@ -50,6 +50,12 @@ scheduleFinalisers(StgWeak *list) createIOThread(RtsFlags.GcFlags.initialStkSize, w->finaliser); #endif w->header.info = &DEAD_WEAK_info; + + /* need to fill the slop with zeros if we're sanity checking */ + IF_DEBUG(sanity, { + nat dw_size = sizeW_fromITBL(get_itbl(w)); + memset((P_)w + dw_size, 0, (sizeofW(StgWeak) - dw_size) * sizeof(W_)); + }); } }