summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGHC GitLab CI <ghc-ci@gitlab-haskell.org>2020-11-26 01:01:18 +0000
committerGHC GitLab CI <ghc-ci@gitlab-haskell.org>2020-12-07 15:13:01 +0000
commitde7f220342bf4d2a308ed106f34760ee99d832ab (patch)
tree8d84876c88fcee6d70f72f5c2bfb1e985f260375
parent813c52198a4642b9ad27786b9a01c812d9d0b5c4 (diff)
downloadhaskell-de7f220342bf4d2a308ed106f34760ee99d832ab.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. (cherry picked from commit 134f759926bb4163d7ab97e72ce7209ed42f98b9)
-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); \