diff options
author | Simon Marlow <simonmar@microsoft.com> | 2007-10-15 10:39:39 +0000 |
---|---|---|
committer | Simon Marlow <simonmar@microsoft.com> | 2007-10-15 10:39:39 +0000 |
commit | 6202305819577fce2b11ab509ed94422775df30e (patch) | |
tree | 1f41c7564fbc410de8ced9a01e3612c21d622e7f /rts/LdvProfile.c | |
parent | 1bc34e903f0dcd9ea549524d26cd1517b2356dad (diff) | |
download | haskell-6202305819577fce2b11ab509ed94422775df30e.tar.gz |
FIX profiling after my storage manager changes
Diffstat (limited to 'rts/LdvProfile.c')
-rw-r--r-- | rts/LdvProfile.c | 18 |
1 files changed, 1 insertions, 17 deletions
diff --git a/rts/LdvProfile.c b/rts/LdvProfile.c index 18386490b9..1e2ffc8c02 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; } } |