summaryrefslogtreecommitdiff
path: root/rts/LdvProfile.c
diff options
context:
space:
mode:
authorSimon Marlow <simonmar@microsoft.com>2007-10-15 10:39:39 +0000
committerSimon Marlow <simonmar@microsoft.com>2007-10-15 10:39:39 +0000
commit6202305819577fce2b11ab509ed94422775df30e (patch)
tree1f41c7564fbc410de8ced9a01e3612c21d622e7f /rts/LdvProfile.c
parent1bc34e903f0dcd9ea549524d26cd1517b2356dad (diff)
downloadhaskell-6202305819577fce2b11ab509ed94422775df30e.tar.gz
FIX profiling after my storage manager changes
Diffstat (limited to 'rts/LdvProfile.c')
-rw-r--r--rts/LdvProfile.c18
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;
}
}