diff options
author | Simon Marlow <marlowsd@gmail.com> | 2009-10-08 15:14:42 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2009-10-08 15:14:42 +0000 |
commit | 754e039a8a15d5774fe73872ff9ac593b46370e0 (patch) | |
tree | bcfba31061c3c70ca497722683eebc57688e1598 /rts/sm/GC.h | |
parent | 4a2013c2e05eb07380938569a196e08eba7c5226 (diff) | |
download | haskell-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.h | 12 |
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; |