[GHC] #10007: Fix misattribution of Cost Centre profiles to lintAnnots
GHC
ghc-devs at haskell.org
Wed Feb 4 09:59:43 UTC 2015
#10007: Fix misattribution of Cost Centre profiles to lintAnnots
-------------------------------------+-------------------------------------
Reporter: thoughtpolice | Owner: scpmw
Type: bug | Status: merge
Priority: high | Milestone: 7.10.1
Component: Profiling | Version: 7.10.1-rc1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Incorrect result | Unknown/Multiple
at runtime | Test Case:
Blocked By: | Blocking:
Related Tickets: #9961 | Differential Revisions: Phab:D616
| Phab:D636
-------------------------------------+-------------------------------------
Comment (by scpmw):
Well, it's the wrong fix, as far as I'm concerned. Yes, it fixes the
erroneous attribution to `lintAnnots`, but only because we change the
program's (RTS) cost semantics twice during optimisations, with both
instances un-doing each other. This is not guaranteed, see the new test
case for `D616`.
I also didn't feel it would help the discussion to mention this - but this
also doesn't fix rather silly double-annotations on parameters, which (I
think) only don't appear because we automatically eliminate repeating cost
centres in stacks. If needed, I could produce another test case that
demonstrates that.
Short version: This is only a band-aid. And as far as those go, I would
still prefer `D616`. At least until I have figured out how to *actually*
implement `Eval2`, which would fix the whole situation from the RTS end.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10007#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list