projects
/
ghc-hetmet.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
95473f1
)
[project @ 2004-09-07 09:35:02 by simonmar]
author
simonmar
<unknown>
Tue, 7 Sep 2004 09:35:03 +0000
(09:35 +0000)
committer
simonmar
<unknown>
Tue, 7 Sep 2004 09:35:03 +0000
(09:35 +0000)
Fix bug in finalizeWeak# (should fix memo002 and maybe one or two
other tests).
ghc/includes/mkDerivedConstants.c
patch
|
blob
|
history
ghc/rts/PrimOps.cmm
patch
|
blob
|
history
diff --git
a/ghc/includes/mkDerivedConstants.c
b/ghc/includes/mkDerivedConstants.c
index
1baacdb
..
f5d6213
100644
(file)
--- 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
(file)
--- 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) {