[Git][ghc/ghc][master] Fix marking async exceptions in the JS backend

Marge Bot (@marge-bot) gitlab at gitlab.haskell.org
Mon Feb 6 14:44:18 UTC 2023



Marge Bot pushed to branch master at Glasgow Haskell Compiler / GHC


Commits:
77a8234c by Luite Stegeman at 2023-02-06T09:43:59-05:00
Fix marking async exceptions in the JS backend

Async exceptions are posted as a pair of the exception and
the thread object. This fixes the marking pass to correctly
follow the two elements of the pair.

Potentially fixes #22836

- - - - -


1 changed file:

- rts/js/gc.js


Changes:

=====================================
rts/js/gc.js
=====================================
@@ -493,7 +493,8 @@ function h$follow(obj, sp) {
 		    }
                 }
 		for(i=0;i<c.excep.length;i++) {
-		    ADDW(c.excep[i]);
+		    ADDW(c.excep[i][0]); // the posting thread
+		    ADDW(c.excep[i][1]); // the exception
 		}
             } else if(c instanceof h$Transaction) {
                 // - the accessed TVar values don't need to be marked



View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/77a8234c5d284846e18c0a44ba5ee196059aaea6

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/77a8234c5d284846e18c0a44ba5ee196059aaea6
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/20230206/41e3c8f1/attachment-0001.html>


More information about the ghc-commits mailing list