summaryrefslogtreecommitdiff
path: root/rts/Makefile
diff options
context:
space:
mode:
authorSimon Marlow <simonmar@microsoft.com>2007-10-31 12:51:36 +0000
committerSimon Marlow <simonmar@microsoft.com>2007-10-31 12:51:36 +0000
commitd5bd3e829c47c03157cf41cad581d2df44dfd81b (patch)
tree98fb99c2713190f77d1999345888b2dcdabe5bf2 /rts/Makefile
parent9e5fe6be620eaf03a86f1321bef603ca43699a3c (diff)
downloadhaskell-d5bd3e829c47c03157cf41cad581d2df44dfd81b.tar.gz
Refactoring of the GC in preparation for parallel GC
This patch localises the state of the GC into a gc_thread structure, and reorganises the inner loop of the GC to scavenge one block at a time from global work lists in each "step". The gc_thread structure has a "workspace" for each step, in which it collects evacuated objects until it has a full block to push out to the step's global list. Details of the algorithm will be on the wiki in due course. At the moment, THREADED_RTS does not compile, but the single-threaded GC works (and is 10-20% slower than before).
Diffstat (limited to 'rts/Makefile')
-rw-r--r--rts/Makefile2
1 files changed, 1 insertions, 1 deletions
diff --git a/rts/Makefile b/rts/Makefile
index 19a7a2288f..9437253d77 100644
--- a/rts/Makefile
+++ b/rts/Makefile
@@ -390,7 +390,7 @@ sm/Compact_HC_OPTS += -optc-finline-limit=2500
# use a variety of types to represent closure pointers (StgPtr,
# StgClosure, StgMVar, etc.), and without -fno-strict-aliasing gcc is
# allowed to assume that these pointers do not alias. eg. without
-# this flag we get problems in GC.c:copy() with gcc 3.4.3, the
+# this flag we get problems in sm/Evac.c:copy() with gcc 3.4.3, the
# upd_evacee() assigments get moved before the object copy.
SRC_CC_OPTS += -fno-strict-aliasing