summaryrefslogtreecommitdiff
path: root/rts/ThreadPaused.c
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2019-10-20 10:41:34 -0400
committerBen Gamari <ben@smart-cactus.org>2019-10-21 11:43:54 -0400
commit17e5a032a66bc043b453727706d4fa95a7951202 (patch)
tree9fa34b155c62163119bb55e7f3c704c05d2e5d96 /rts/ThreadPaused.c
parent26c3827f0b878f5bde7b5261076eb8452847fdb4 (diff)
downloadhaskell-17e5a032a66bc043b453727706d4fa95a7951202.tar.gz
ThreadPaused: Add barrer on updated thunk
Diffstat (limited to 'rts/ThreadPaused.c')
-rw-r--r--rts/ThreadPaused.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/rts/ThreadPaused.c b/rts/ThreadPaused.c
index 368f99a4f9..83c621e386 100644
--- a/rts/ThreadPaused.c
+++ b/rts/ThreadPaused.c
@@ -15,6 +15,7 @@
#include "RaiseAsync.h"
#include "Trace.h"
#include "Threads.h"
+#include "sm/NonMovingMark.h"
#include <string.h> // for memmove()
@@ -243,6 +244,9 @@ threadPaused(Capability *cap, StgTSO *tso)
bh = ((StgUpdateFrame *)frame)->updatee;
bh_info = bh->header.info;
+ IF_NONMOVING_WRITE_BARRIER_ENABLED {
+ updateRemembSetPushClosure(cap, (StgClosure *) bh);
+ }
#if defined(THREADED_RTS)
retry: