Re: [GHC] #3693: Show stack traces

#3693: Show stack traces -------------------------------------+------------------------------------ Reporter: jpet | Owner: Tarrasch Type: feature request | Status: new Priority: normal | Milestone: 7.10.1 Component: Runtime System | Version: 6.10.4 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+------------------------------------ Comment (by scpmw): Okay, I have now submitted an (hopefully) improved version: https://github.com/scpmw/ghc/pull/6 The main new idea is that instead of `tickishScoped`+`tickishSoftScope` and `tickishIgnoreCheap` respectively we now have two main tickish properties: - Scoping ([https://github.com/scpmw/ghc/commit/0798888f829fe527b7c03f7d73b1d04746183b64 #diff-90615b0b9a679ebb599d2cb8b2c0dcdeR519 Source]): Determines what transformations are allowed with respect to covered code. The three levels are `NoScope` for don't-care (= HPC ticks), `SoftScope` for no-float-out and `CostCentreScope` for no-float-out plus no-float-in modulo lambdas. - Placement ([https://github.com/scpmw/ghc/commit/0798888f829fe527b7c03f7d73b1d04746183b64 #diff-90615b0b9a679ebb599d2cb8b2c0dcdeR648 Source]): It occurred to me that `mkTick` has a very similar problem with characterising where to create ticks / what to automatically push them through. So I did basically the same thing - the three levels here are `PlaceRuntime` which basically floats through just type applications and casts, `PlaceNonLam` which additionally floats through lambdas, and `PlaceCostCentre` which again implements all the CC-specific rules (such as eliminating ticks on HNFs). Note that the difference between `PlaceRuntime` and `PlaceNonLam` is essentially `tickishCounts`. However, it's actually easier this way, as it allows `mkTick` to do its work without having to care about `tickishCounts` at all ([https://github.com/scpmw/ghc/commit/0798888f829fe527b7c03f7d73b1d04746183b64 #diff-3ff04cec4ec4aff71838022111551fb8R232 Source]). Furthermore I tried to update all documentation and add more comments all around. What is the last verdict on a Wiki page? Sorry if I'm a bit reluctant about this, but I can't think of anything offhand that I would want to put on a Wiki instead of into a code comment. Some more examples, possibly? Btw: A non-paywall link to the paper is http://eprints.whiterose.ac.uk/76448/ -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/3693#comment:68 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC