diff options
author | Ben Gamari <ben@smart-cactus.org> | 2022-10-22 21:07:34 +0000 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2023-03-08 15:02:30 -0500 |
commit | ba7e7972ae14848a9ac41d5c6200d0aa5727ed72 (patch) | |
tree | 019f0cc484217f24c38abc38cdce5764ec2ecdd9 | |
parent | 92227b6022b35d87f6366c75e09ed495b7c3603e (diff) | |
download | haskell-ba7e7972ae14848a9ac41d5c6200d0aa5727ed72.tar.gz |
nonmoving: Sanity check nonmoving large objects and compacts
-rw-r--r-- | rts/sm/Sanity.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/rts/sm/Sanity.c b/rts/sm/Sanity.c index a8a7a3d9c6..d0a6403555 100644 --- a/rts/sm/Sanity.c +++ b/rts/sm/Sanity.c @@ -44,6 +44,8 @@ static void checkLargeBitmap ( StgPtr payload, StgLargeBitmap*, uint32_t ); static void checkClosureShallow ( const StgClosure * ); static void checkSTACK (StgStack *stack); +static void checkCompactObjects (bdescr *bd); + static W_ countNonMovingSegments ( struct NonmovingSegment *segs ); static W_ countNonMovingHeap ( struct NonmovingHeap *heap ); @@ -631,6 +633,9 @@ static void checkNonmovingSegments (struct NonmovingSegment *seg) void checkNonmovingHeap (const struct NonmovingHeap *heap) { + checkLargeObjects(nonmoving_large_objects); + checkLargeObjects(nonmoving_marked_large_objects); + checkCompactObjects(nonmoving_compact_objects); for (unsigned int i=0; i < NONMOVING_ALLOCA_CNT; i++) { const struct NonmovingAllocator *alloc = heap->allocators[i]; checkNonmovingSegments(alloc->filled); |