diff options
author | Ben Gamari <ben@smart-cactus.org> | 2020-12-21 15:02:59 -0500 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2020-12-21 15:02:59 -0500 |
commit | dcf56892e9a2d4f2ceb9a219d2a4423d4c6a958a (patch) | |
tree | d64cae9ab08db322f8fca89af34f79b0fe854dd4 | |
parent | e26c9a94b438eef56a007d4b78950267c4b36163 (diff) | |
download | haskell-dcf56892e9a2d4f2ceb9a219d2a4423d4c6a958a.tar.gz |
nonmoving: STM fix?wip/gc/parallel-marking
This needs an audit.
-rw-r--r-- | rts/STM.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -579,6 +579,9 @@ static void remove_watch_queue_entries_for_trec(Capability *cap, pq -> next_queue_entry = nq; } else { ASSERT(SEQ_CST_LOAD(&s->first_watch_queue_entry) == q); + IF_NONMOVING_WRITE_BARRIER_ENABLED { + updateRemembSetPushClosure(&cap->upd_rem_set, s -> first_watch_queue_entry); + } SEQ_CST_STORE(&s->first_watch_queue_entry, nq); dirty_TVAR(cap, s, (StgClosure *) q); // we modified first_watch_queue_entry } |