rts: Correct handling of LARGE ARR_WORDS in LDV profiler
authorMatthew Pickering <matthewtpickering@gmail.com>
Thu, 6 Jun 2019 13:03:50 +0000 (14:03 +0100)
committerMarge Bot <ben+marge-bot@smart-cactus.org>
Thu, 27 Jun 2019 14:42:29 +0000 (10:42 -0400)
commita586b33f8e8ad60b5c5ef3501c89e9b71794bbed
treec1c23bc071458a63769433adecc0e072cc6adc64
parent1c4f18d071dcd76d068ae06d43d7c5048b57d980
rts: Correct handling of LARGE ARR_WORDS in LDV profiler

This implements the correct fix for #11627 by skipping over the slop
(which is zeroed) rather than adding special case logic for LARGE
ARR_WORDS which runs the risk of not performing a correct census by
ignoring any subsequent blocks.

This approach implements similar logic to that in Sanity.c
includes/Rts.h
includes/rts/storage/ClosureMacros.h
rts/ProfHeap.c