diff options
author | Simon Marlow <marlowsd@gmail.com> | 2008-06-09 17:49:43 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2008-06-09 17:49:43 +0000 |
commit | 74ee9df9f9e79e7110e9d8541b84010f35c464c5 (patch) | |
tree | a7a10946773a1f12d367c063e4ac343e6580d9ad /includes/Storage.h | |
parent | 54fe7a440247fbd0f853d07da23d48b50a229a00 (diff) | |
download | haskell-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.h | 5 |
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; |