Initial parallel GC support
authorSimon Marlow <simonmar@microsoft.com>
Wed, 31 Oct 2007 13:07:18 +0000 (13:07 +0000)
committerSimon Marlow <simonmar@microsoft.com>
Wed, 31 Oct 2007 13:07:18 +0000 (13:07 +0000)
commitf2ca6deece1ed1724efdd6d2293dc7642059b2f2
tree7f08b2b0e7043568bbf9f02dad6e2da7a970efe1
parentd5bd3e829c47c03157cf41cad581d2df44dfd81b
Initial parallel GC support

eg. use +RTS -g2 -RTS for 2 threads.  Only major GCs are parallelised,
minor GCs are still sequential. Don't use more threads than you
have CPUs.

It works most of the time, although you won't see much speedup yet.
Tuning and more work on stability still required.
includes/ClosureTypes.h
rts/ClosureFlags.c
rts/StgMiscClosures.cmm
rts/sm/BlockAlloc.c
rts/sm/Evac.c
rts/sm/GC.c
rts/sm/GC.h
rts/sm/Scav.c
rts/sm/Scav.h