Fix processHeapClosureForDead CONSTR_NOCAF case ghc-8.6.1-alpha2
authorÖmer Sinan Ağacan <omeragacan@gmail.com>
Fri, 13 Jul 2018 12:12:19 +0000 (15:12 +0300)
committerBen Gamari <ben@smart-cactus.org>
Sat, 14 Jul 2018 18:22:20 +0000 (14:22 -0400)
commit30a4bcc3fc3a434b3b6ab64289934281591ce09a
tree6716bd186e03cd5336e26cedd8478e0b3db43234
parent1cdc3ecccd087f5be2e3cdfa6827f7cee57a8206
Fix processHeapClosureForDead CONSTR_NOCAF case

CONSTR_NOCAF was introduced with 55d535da10d as a replacement for
CONSTR_STATIC and CONSTR_NOCAF_STATIC, however, as explained in Note
[static constructors], we copy CONSTR_NOCAFs (which can also be seen in
evacuate) during GC, and they can become dead, like other CONSTR_X_Ys.
processHeapClosureForDead is updated to reflect this.

Test Plan: Validates on x86_64. Existing failures on i386.

Reviewers: simonmar, bgamari, erikd

Reviewed By: simonmar, bgamari

Subscribers: rwbarton, thomie, carter

GHC Trac Issues: #7836, #15063, #15087, #15165

Differential Revision: https://phabricator.haskell.org/D4928

(cherry picked from commit 2625f1310edeff62eb3876cc6efbe105a80fe4ad)
rts/LdvProfile.c
testsuite/tests/profiling/should_run/all.T