patch applied (ghc): Don't look at all the threads before each GC.
Simon Marlow
simonmarhaskell at gmail.com
Tue Jun 17 10:39:50 EDT 2008
Wed Apr 16 16:44:46 PDT 2008 Simon Marlow <simonmarhaskell at gmail.com>
* Don't look at all the threads before each GC.
We were looking at all the threads for 2 reasons:
1. to catch transactions that might be looping as a
result of seeing an inconsistent view of memory.
2. to catch threads with blocked exceptions that are
themselves blocked.
For (1) we now check for this case whenever a thread yields, and for
(2) we catch these threads in the GC itself and send the exceptions
after GC (see performPendingThrowTos).
M ./rts/Schedule.c -51 +65
M ./rts/Schedule.h +1
M ./rts/sm/GC.c +1
M ./rts/sm/MarkWeak.c -8 +26
M ./rts/sm/MarkWeak.h +1
M ./rts/sm/Storage.c -2 +2
View patch online:
http://darcs.haskell.org/ghc/_darcs/patches/20080416234446-8214f-8ee9211eabc67e5d0e4003fdfc15dc1a03acf264.gz
More information about the Cvs-ghc
mailing list