summaryrefslogtreecommitdiff
path: root/includes/Storage.h
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2008-06-09 17:49:43 +0000
committerSimon Marlow <marlowsd@gmail.com>2008-06-09 17:49:43 +0000
commit74ee9df9f9e79e7110e9d8541b84010f35c464c5 (patch)
treea7a10946773a1f12d367c063e4ac343e6580d9ad /includes/Storage.h
parent54fe7a440247fbd0f853d07da23d48b50a229a00 (diff)
downloadhaskell-74ee9df9f9e79e7110e9d8541b84010f35c464c5.tar.gz
Experimental "mark-region" strategy for the old generation
Sometimes better than the default copying, enabled by +RTS -w
Diffstat (limited to 'includes/Storage.h')
-rw-r--r--includes/Storage.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/includes/Storage.h b/includes/Storage.h
index ae066c1c9e..34a5411918 100644
--- a/includes/Storage.h
+++ b/includes/Storage.h
@@ -55,7 +55,6 @@
typedef struct step_ {
unsigned int no; // step number in this generation
unsigned int abs_no; // absolute step number
- int is_compacted; // compact this step? (old gen only)
struct generation_ * gen; // generation this step belongs to
unsigned int gen_no; // generation number (cached)
@@ -87,8 +86,12 @@ typedef struct step_ {
// and scavenged_large_objects
#endif
+ int mark; // mark (not copy)? (old gen only)
+ int compact; // compact (not sweep)? (old gen only)
+
bdescr * old_blocks; // bdescr of first from-space block
unsigned int n_old_blocks; // number of blocks in from-space
+ unsigned int live_estimate; // for sweeping: estimate of live data
bdescr * todos; // blocks waiting to be scavenged
bdescr * todos_last;