summaryrefslogtreecommitdiff
path: root/rts/Schedule.c
diff options
context:
space:
mode:
Diffstat (limited to 'rts/Schedule.c')
-rw-r--r--rts/Schedule.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/rts/Schedule.c b/rts/Schedule.c
index 37ff07f838..84dc406c90 100644
--- a/rts/Schedule.c
+++ b/rts/Schedule.c
@@ -2501,7 +2501,9 @@ resumeThread (void *task_)
incall->suspended_tso = NULL;
incall->suspended_cap = NULL;
// we will modify tso->_link
- updateRemembSetPushClosure(cap, (StgClosure *)tso->_link);
+ if (RTS_UNLIKELY(nonmoving_write_barrier_enabled)) {
+ updateRemembSetPushClosure(cap, (StgClosure *)tso->_link);
+ }
tso->_link = END_TSO_QUEUE;
traceEventRunThread(cap, tso);