diff options
author | Ben Gamari <ben@smart-cactus.org> | 2019-06-16 15:01:30 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2019-10-22 18:57:42 -0400 |
commit | 24a0fc23dbc628f2a6bec4d6bf68c6a5e5a918d0 (patch) | |
tree | 051e3a391932ea0546e246c9d2272a7d649a700f | |
parent | 80e158f6c1410061888a36b5338b133b2e502259 (diff) | |
download | haskell-24a0fc23dbc628f2a6bec4d6bf68c6a5e5a918d0.tar.gz |
Revert "NonMovingScav: Account for new allocations"
This reverts commit ce36fd898436386c13468d41adaf6f11f2e9c7f1.
-rw-r--r-- | rts/sm/NonMovingScav.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/rts/sm/NonMovingScav.c b/rts/sm/NonMovingScav.c index da8236e180..5c5019ba7f 100644 --- a/rts/sm/NonMovingScav.c +++ b/rts/sm/NonMovingScav.c @@ -373,12 +373,13 @@ scavengeNonmovingSegment (struct NonmovingSegment *seg) ASSERT(seg_block->u.scan >= (P_)nonmovingSegmentGetBlock(seg, 0)); ASSERT(seg_block->u.scan <= (P_)nonmovingSegmentGetBlock(seg, seg->next_free)); - nonmoving_block_idx p_idx = nonmovingGetBlockIdx(seg_block->u.scan); - if (p_idx == seg->next_free) + StgPtr scan_end = (P_)nonmovingSegmentGetBlock(seg, seg->next_free); + if (seg_block->u.scan == scan_end) return; trace_dump_note("scavenging segment"); - while (p_idx < seg->next_free) { + nonmoving_block_idx p_idx = nonmovingGetBlockIdx(seg_block->u.scan); + while (seg_block->u.scan < scan_end) { StgClosure *p = (StgClosure*)seg_block->u.scan; trace_dump_set_source_closure(p); |