From a586b33f8e8ad60b5c5ef3501c89e9b71794bbed Mon Sep 17 00:00:00 2001 From: Matthew Pickering Date: Thu, 6 Jun 2019 14:03:50 +0100 Subject: 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 | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'includes/Rts.h') diff --git a/includes/Rts.h b/includes/Rts.h index f1f8351298..dd60726c39 100644 --- a/includes/Rts.h +++ b/includes/Rts.h @@ -147,6 +147,14 @@ void _assertFail(const char *filename, unsigned int linenum) #define USED_IF_NOT_THREADS #endif +#if defined(PROFILING) +#define USED_IF_PROFILING +#define USED_IF_NOT_PROFILING STG_UNUSED +#else +#define USED_IF_PROFILING STG_UNUSED +#define USED_IF_NOT_PROFILING +#endif + #define FMT_SizeT "zu" #define FMT_HexSizeT "zx" -- cgit v1.2.1