From: simonmar Date: Tue, 7 Sep 2004 09:35:03 +0000 (+0000) Subject: [project @ 2004-09-07 09:35:02 by simonmar] X-Git-Tag: Initial_conversion_from_CVS_complete~1628 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;ds=sidebyside;h=1a65116f9317f73e2a49f714c00fb1353d155444;p=ghc-hetmet.git [project @ 2004-09-07 09:35:02 by simonmar] Fix bug in finalizeWeak# (should fix memo002 and maybe one or two other tests). --- diff --git a/ghc/includes/mkDerivedConstants.c b/ghc/includes/mkDerivedConstants.c index 1baacdb..f5d6213 100644 --- a/ghc/includes/mkDerivedConstants.c +++ b/ghc/includes/mkDerivedConstants.c @@ -308,6 +308,9 @@ main(int argc, char *argv[]) closure_field(StgWeak,value); closure_field(StgWeak,finalizer); + closure_size(StgDeadWeak); + closure_field(StgDeadWeak,link); + closure_size(StgMVar); closure_field(StgMVar,head); closure_field(StgMVar,tail); diff --git a/ghc/rts/PrimOps.cmm b/ghc/rts/PrimOps.cmm index d4a54c6..c9556f4 100644 --- a/ghc/rts/PrimOps.cmm +++ b/ghc/rts/PrimOps.cmm @@ -316,6 +316,7 @@ finalizzeWeakzh_fast LDV_RECORD_CREATE(w); f = StgWeak_finalizer(w); + StgDeadWeak_link(w) = StgWeak_link(w); /* return the finalizer */ if (f == stg_NO_FINALIZER_closure) {