Skip to content
  • Simon Marlow's avatar
    Make 'error' include the CCS call stack when profiled · 8988be85
    Simon Marlow authored
    Summary:
    The idea here is that this gives a more detailed stack trace in two
    cases:
    
    1. With `-prof` and `-fprof-auto`
    2. In GHCi (see #11047)
    
    Example, with an error inserted in nofib/shootout/binary-trees:
    
    ```
    $ ./Main 3
    Main: z
    CallStack (from ImplicitParams):
      error, called at Main.hs:67:29 in main:Main
    CallStack (from -prof):
      Main.check' (Main.hs:(67,1)-(68,82))
      Main.check (Main.hs:63:1-21)
      Main.stretch (Main.hs:32:35-57)
      Main.main.c (Main.hs:32:9-57)
      Main.main (Main.hs:(27,1)-(43,42))
      Main.CAF (<entire-module>)
    ```
    
    This doesn't quite obsolete +RTS -xc, which also attempts to display
    more information in the case when the error is in a CAF, but I'm
    exploring other solutions to that.
    
    Includes submodule updates.
    
    Test Plan: validate
    
    Reviewers: simonpj, ezyang, gridaphobe, bgamari, hvr, austin
    
    Reviewed By: bgamari
    
    Subscribers: thomie
    
    Differential Revision: https://phabricator.haskell.org/D1426
    8988be85