X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FLdvProfile.c;h=1e2ffc8c027be5bea43596bc4f7fc4abd0ad70af;hb=f7963d3f11e67375b8c6ecbd71e56f0d0ac262dd;hp=18386490b9acadca9b18470f7bc2e856f140186f;hpb=c1540c3def6281ea67b5a4ce7499b1aa982faa25;p=ghc-hetmet.git diff --git a/rts/LdvProfile.c b/rts/LdvProfile.c index 1838649..1e2ffc8 100644 --- a/rts/LdvProfile.c +++ b/rts/LdvProfile.c @@ -247,22 +247,7 @@ processSmallObjectPoolForDead( void ) bdescr *bd; StgPtr p; - bd = g0s0->blocks; - - // first block - if (bd == NULL) - return; - - p = bd->start; - while (p < alloc_Hp) { - p += processHeapClosureForDead((StgClosure *)p); - while (p < alloc_Hp && !*p) // skip slop - p++; - } - ASSERT(p == alloc_Hp); - - bd = bd->link; - while (bd != NULL) { + for (bd = g0s0->blocks; bd != NULL; bd = bd->link) { p = bd->start; while (p < bd->free) { p += processHeapClosureForDead((StgClosure *)p); @@ -270,7 +255,6 @@ processSmallObjectPoolForDead( void ) p++; } ASSERT(p == bd->free); - bd = bd->link; } }