- live = gen->n_words + countOccupied(gen->large_objects);
- slop = (gen->n_blocks + gen->n_large_blocks) * BLOCK_SIZE_W - live;
- debugBelch("%8d %8d %8ld %8ld\n", gen->n_blocks, lge,
- live*sizeof(W_), slop*sizeof(W_));
- tot_live += live;
- tot_slop += slop;
+
+ gen_live = genLiveWords(gen);
+ gen_blocks = genLiveBlocks(gen);
+
+ mut = 0;
+ for (i = 0; i < n_capabilities; i++) {
+ mut += countOccupied(capabilities[i].mut_lists[g]);
+ gen_live += gcThreadLiveWords(i,g);
+ gen_blocks += gcThreadLiveBlocks(i,g);
+ }
+
+ debugBelch("%5d %7d %9d", g, gen->max_blocks, mut);
+
+ gen_slop = gen_blocks * BLOCK_SIZE_W - gen_live;
+
+ debugBelch("%8ld %8d %8ld %8ld\n", gen_blocks, lge,
+ gen_live*sizeof(W_), gen_slop*sizeof(W_));
+ tot_live += gen_live;
+ tot_slop += gen_slop;