[GHC] #14626: No need to enter a scrutinised value
GHC
ghc-devs at haskell.org
Thu Jan 11 06:37:46 UTC 2018
#14626: No need to enter a scrutinised value
-------------------------------------+-------------------------------------
Reporter: heisenbug | Owner: heisenbug
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.2.2
Resolution: | Keywords: performance
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: #13861 | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by heisenbug):
Replying to [comment:12 simonpj]:
> Once more, I urge you ''not'' to try debugging a stage2 compiler, unless
you have a great deal of time on your hands. Instead, compile the
libraries and stage2 compiler without the optimisation; and then try the
testsuite and nofib. These are small programs and much easier to debug.
Yup, I entertained this idea of an assertion for some time, but it looked
like too much of a hassle compared to some quick debugging session. Turns
out you are right. So I now plant in taggedness assertions (pushed to
`wip/T14626` for your reviewing pleasure) for suspicious constellations,
and they fire indeed!
{{{
* frame #0: 0x000000010a0fcbc8 libHSrts_thr-
ghc8.5.20180103.dylib`checkTagged
frame #1: 0x000000010073e2c1
libHSghc-8.5-ghc8.5.20180103.dylib`ghc_Name_nzuocc_info [inlined] _cpOv +
17 at Name.hs:111
frame #2: 0x000000010073e2b0
libHSghc-8.5-ghc8.5.20180103.dylib`ghc_Name_nzuocc_info + 72
frame #3: 0x000000010a104fb0 libHSrts_thr-
ghc8.5.20180103.dylib`stg_upd_frame_info_dsp + 16
}}}
`Name.hs:111` is a strict record field BTW. Does this ring a bell? Why is
it `OtherCon _ <- idUnfolding id` but not tagged? Is it possibly
implicitly unpacked?
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14626#comment:13>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list