summaryrefslogtreecommitdiff
path: root/rts/sm/GC.h
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2009-10-08 15:14:42 +0000
committerSimon Marlow <marlowsd@gmail.com>2009-10-08 15:14:42 +0000
commit754e039a8a15d5774fe73872ff9ac593b46370e0 (patch)
treebcfba31061c3c70ca497722683eebc57688e1598 /rts/sm/GC.h
parent4a2013c2e05eb07380938569a196e08eba7c5226 (diff)
downloadhaskell-754e039a8a15d5774fe73872ff9ac593b46370e0.tar.gz
Mark/compact: use a dynamically-sized mark stack, and don't do linear scan
This improves the performance of the mark/compact and mark/region collectors, and paves the way for doing mark/region with smaller region sizes, in the style of Immix.
Diffstat (limited to 'rts/sm/GC.h')
-rw-r--r--rts/sm/GC.h12
1 files changed, 4 insertions, 8 deletions
diff --git a/rts/sm/GC.h b/rts/sm/GC.h
index 4b928e9bfa..cddba0099e 100644
--- a/rts/sm/GC.h
+++ b/rts/sm/GC.h
@@ -26,14 +26,10 @@ void markCAFs ( evac_fn evac, void *user );
extern nat N;
extern rtsBool major_gc;
-extern bdescr *mark_stack_bdescr;
-extern StgPtr *mark_stack;
-extern StgPtr *mark_sp;
-extern StgPtr *mark_splim;
-
-extern rtsBool mark_stack_overflowed;
-extern bdescr *oldgen_scan_bd;
-extern StgPtr oldgen_scan;
+extern bdescr *mark_stack_bd;
+extern bdescr *mark_stack_top_bd;
+extern StgPtr mark_sp;
+extern StgPtr mark_splim;
extern long copied;