[project @ 2005-05-11 12:52:05 by simonmar]
authorsimonmar <unknown>
Wed, 11 May 2005 12:52:05 +0000 (12:52 +0000)
committersimonmar <unknown>
Wed, 11 May 2005 12:52:05 +0000 (12:52 +0000)
Another large block fix.

ghc/rts/Schedule.c

index 4edc6ab..95a5bce 100644 (file)
@@ -1507,20 +1507,15 @@ scheduleHandleHeapOverflow( Capability *cap, StgTSO *t )
            { 
                bdescr *x;
                for (x = bd; x < bd + blocks; x++) {
-                   x->step = g0s0;
+                   x->step = cap->r.rNursery;
                    x->gen_no = 0;
                    x->flags = 0;
                }
            }
            
-#if !defined(SMP)
-           // don't forget to update the block count in g0s0.
-           g0s0->n_blocks += blocks;
-
            // This assert can be a killer if the app is doing lots
            // of large block allocations.
-           ASSERT(countBlocks(g0s0->blocks) == g0s0->n_blocks);
-#endif
+           ASSERT(countBlocks(cap->r.rNursery->blocks) == cap->r.rNursery->n_blocks);
            
            // now update the nursery to point to the new block
            cap->r.rCurrentNursery = bd;