diff options
Diffstat (limited to 'rts/Apply.cmm')
-rw-r--r-- | rts/Apply.cmm | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/rts/Apply.cmm b/rts/Apply.cmm index 15d8250f52..40f890d342 100644 --- a/rts/Apply.cmm +++ b/rts/Apply.cmm @@ -679,6 +679,11 @@ for: R1 = StgAP_STACK_fun(ap); + // Because of eager blackholing the closure no longer has correct size so + // threadPaused() can't correctly zero the slop, so we do it here. See #15571 + // and Note [zeroing slop]. + OVERWRITING_CLOSURE_SIZE(ap, BYTES_TO_WDS(SIZEOF_StgThunkHeader) + 2 + Words); + ENTER_R1(); } |