summaryrefslogtreecommitdiff
path: root/rts/sm/NonMovingMark.c
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2019-05-17 13:38:36 -0400
committerBen Gamari <ben@smart-cactus.org>2019-10-22 12:20:37 -0400
commitdd8d1b4928a9f82d2abfe0926c9ef3b5a20758b5 (patch)
treed649be6c5a49919f4103e557dedaf5eaa015a705 /rts/sm/NonMovingMark.c
parent6dcef5eedaee9a9ecd8b0e41c5f5b93512e6f6c9 (diff)
downloadhaskell-wip/gc/segment-header-to-bdescr.tar.gz
NonMoving: Move next_free_snap to block descriptorwip/gc/segment-header-to-bdescr
Diffstat (limited to 'rts/sm/NonMovingMark.c')
-rw-r--r--rts/sm/NonMovingMark.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/rts/sm/NonMovingMark.c b/rts/sm/NonMovingMark.c
index 6e34096037..0c91befcd6 100644
--- a/rts/sm/NonMovingMark.c
+++ b/rts/sm/NonMovingMark.c
@@ -1251,7 +1251,7 @@ mark_closure (MarkQueue *queue, StgClosure *p, StgClosure **origin)
return;
StgClosure *snapshot_loc =
- (StgClosure *) nonmovingSegmentGetBlock(seg, seg->next_free_snap);
+ (StgClosure *) nonmovingSegmentGetBlock(seg, nonmovingSegmentInfo(seg)->next_free_snap);
if (p >= snapshot_loc && mark == 0) {
/*
* In this case we are looking at a block that wasn't allocated
@@ -1656,7 +1656,7 @@ bool nonmovingIsAlive (StgClosure *p)
struct NonmovingSegment *seg = nonmovingGetSegment((StgPtr) p);
nonmoving_block_idx i = nonmovingGetBlockIdx((StgPtr) p);
uint8_t mark = nonmovingGetMark(seg, i);
- if (i >= seg->next_free_snap) {
+ if (i >= nonmovingSegmentInfo(seg)->next_free_snap) {
// If the object is allocated after next_free_snap then one of the
// following must be true:
//