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