X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2Fsm%2FStorage.c;h=6f4a415d45c490728485b319194fb6b2f2942829;hb=27a28cf6bc2196ee1690ac1fcc4d4c59d9b0d50f;hp=6b16cc409eccbe395212f463b452313cab7c3a5f;hpb=dbbf15c0f141357aa49b583286174867baadb821;p=ghc-hetmet.git diff --git a/rts/sm/Storage.c b/rts/sm/Storage.c index 6b16cc4..6f4a415 100644 --- a/rts/sm/Storage.c +++ b/rts/sm/Storage.c @@ -87,6 +87,7 @@ initStep (step *stp, int g, int s) stp->abs_no = RtsFlags.GcFlags.steps * g + s; stp->blocks = NULL; stp->n_blocks = 0; + stp->n_words = 0; stp->old_blocks = NULL; stp->n_old_blocks = 0; stp->gen = &generations[g]; @@ -999,7 +1000,7 @@ calcLiveWords(void) step *stp; if (RtsFlags.GcFlags.generations == 1) { - return countOccupied(g0s0->blocks) + countOccupied(g0s0->large_objects); + return g0s0->n_words + countOccupied(g0s0->large_objects); } live = 0; @@ -1007,8 +1008,7 @@ calcLiveWords(void) for (s = 0; s < generations[g].n_steps; s++) { if (g == 0 && s == 0) continue; stp = &generations[g].steps[s]; - live += countOccupied(stp->blocks) + - countOccupied(stp->large_objects); + live += stp->n_words + countOccupied(stp->large_objects); } } return live;