[Git][ghc/ghc][wip/T18587] rts/nonmoving: Add missing STM write barrier

Ben Gamari gitlab at gitlab.haskell.org
Sat Sep 5 13:28:24 UTC 2020



Ben Gamari pushed to branch wip/T18587 at Glasgow Haskell Compiler / GHC


Commits:
2a9063e9 by Ben Gamari at 2020-09-05T09:28:18-04:00
rts/nonmoving: Add missing STM write barrier

When updating a TRec for a TVar already part of a transaction we
previously neglected to add the old value to the update remembered set.
I suspect this was the cause of #18587.

- - - - -


1 changed file:

- rts/STM.c


Changes:

=====================================
rts/STM.c
=====================================
@@ -1342,6 +1342,9 @@ void stmWriteTVar(Capability *cap,
   if (entry != NULL) {
     if (entry_in == trec) {
       // Entry found in our trec
+      IF_NONMOVING_WRITE_BARRIER_ENABLED {
+        updateRemembSetPushClosure(&cap, (StgClosure *) entry->new_value);
+      }
       entry -> new_value = new_value;
     } else {
       // Entry found in another trec



View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/2a9063e9b30f43d2e2767bcdec702b020c6bd11a

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/2a9063e9b30f43d2e2767bcdec702b020c6bd11a
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20200905/c8753d13/attachment.html>


More information about the ghc-commits mailing list