Fix processHeapClosureForDead CONSTR_NOCAF case
authorÖmer Sinan Ağacan <omeragacan@gmail.com>
Fri, 13 Jul 2018 12:12:19 +0000 (15:12 +0300)
committerÖmer Sinan Ağacan <omeragacan@gmail.com>
Fri, 13 Jul 2018 12:12:43 +0000 (15:12 +0300)
commit2625f1310edeff62eb3876cc6efbe105a80fe4ad
tree34ec0736541e27cb9321a5854feeaaaaa0ec144d
parent3ee7ca1b07eb78d037be9c654db345d641657b4f
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
rts/LdvProfile.c
testsuite/tests/profiling/should_run/all.T