summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGHC GitLab CI <ghc-ci@gitlab-haskell.org>2020-11-26 01:01:18 +0000
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-11-29 15:33:54 -0500
commit8a4d8fb62abde3b79043e8915ee538aaabe2d97c (patch)
tree4cf48d17060ef02c23eeee0e17df0bd6425622c5
parent0120829f47ed9ebd02ffd552d71e45cca3bdc9f6 (diff)
downloadhaskell-8a4d8fb62abde3b79043e8915ee538aaabe2d97c.tar.gz
Updates: Don't zero slop until closure has been pushed
Ensure that the the free variables have been pushed to the update remembered set before we zero the slop.
-rw-r--r--rts/Updates.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/rts/Updates.h b/rts/Updates.h
index aa5fbe0133..f2ca437dfc 100644
--- a/rts/Updates.h
+++ b/rts/Updates.h
@@ -49,7 +49,6 @@
W_ bd; \
\
prim_write_barrier; \
- OVERWRITING_CLOSURE(p1); \
bd = Bdescr(p1); \
if (bdescr_gen_no(bd) != 0 :: bits16) { \
IF_NONMOVING_WRITE_BARRIER_ENABLED { \
@@ -60,6 +59,7 @@
} else { \
TICK_UPD_NEW_IND(); \
} \
+ OVERWRITING_CLOSURE(p1); \
StgInd_indirectee(p1) = p2; \
prim_write_barrier; \
SET_INFO(p1, stg_BLACKHOLE_info); \