diff options
author | Simon Marlow <marlowsd@gmail.com> | 2009-03-16 16:05:34 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2009-03-16 16:05:34 +0000 |
commit | 8b85ebc3da33a8c870425d951a307360627a1d12 (patch) | |
tree | 53ffca8c00fa1b901e803abb61bd31d7ab25ee38 /rts/LdvProfile.c | |
parent | 5ed9db738f05bcc8a855e2ddd5f3ad243a22e0a8 (diff) | |
download | haskell-8b85ebc3da33a8c870425d951a307360627a1d12.tar.gz |
Don't call processHeapClosureForDead on pinned blocks
Fixes heapprof001(prof_hp) after fix for #2917
Diffstat (limited to 'rts/LdvProfile.c')
-rw-r--r-- | rts/LdvProfile.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/rts/LdvProfile.c b/rts/LdvProfile.c index 6a807cf377..eab3ec3e4b 100644 --- a/rts/LdvProfile.c +++ b/rts/LdvProfile.c @@ -266,7 +266,9 @@ processChainForDead( bdescr *bd ) { // Any object still in the chain is dead! while (bd != NULL) { - processHeapClosureForDead((StgClosure *)bd->start); + if (!(bd->flags & BF_PINNED)) { + processHeapClosureForDead((StgClosure *)bd->start); + } bd = bd->link; } } |