From: simonmar@microsoft.com Date: Wed, 30 Jan 2008 15:07:30 +0000 (+0000) Subject: calcNeeded: fix the calculation, we weren't counting G0 step 1 X-Git-Tag: Before_cabalised-GHC~252 X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=faafd34db3f4306b9165d99676f4680dd85b96d4 calcNeeded: fix the calculation, we weren't counting G0 step 1 --- diff --git a/rts/sm/Storage.c b/rts/sm/Storage.c index 0bc15c0..8b3839f 100644 --- a/rts/sm/Storage.c +++ b/rts/sm/Storage.c @@ -999,10 +999,11 @@ calcNeeded(void) for (s = 0; s < generations[g].n_steps; s++) { if (g == 0 && s == 0) { continue; } stp = &generations[g].steps[s]; - if (generations[g].steps[0].n_blocks + - generations[g].steps[0].n_large_blocks - > generations[g].max_blocks - && stp->is_compacted == 0) { + if (g == 0 || // always collect gen 0 + (generations[g].steps[0].n_blocks + + generations[g].steps[0].n_large_blocks + > generations[g].max_blocks + && stp->is_compacted == 0)) { needed += 2 * stp->n_blocks + stp->n_large_blocks; } else { needed += stp->n_blocks + stp->n_large_blocks;