How's the integration of DWARF support coming along?

Arash Rouhani rarash at
Wed Aug 13 18:46:29 UTC 2014

Peter will have to answer that. But it seemed to me that it has been 
working fine all the time. I suppose it's just to resolve merge 
conflicts. There were some refactorings he wanted to do. In addition to 
this it will also be some packaging issues I suppose. I'm hoping Peter 
will answer in this mail thread soon, since he knows this much better.


On 2014-08-13 20:01, Johan Tibell wrote:
> What's the minimal amount of work we need to do to just get the dwarf 
> data in the codegen by 7.10 (RC late december) so we can start using 
> e.g. linux perf events to profile Haskell programs?
> On Wed, Aug 13, 2014 at 7:31 PM, Arash Rouhani 
> <rarash at <mailto:rarash at>> wrote:
>     Hi Johan!
>     I haven't done much (just been lazy) lately, I've tried to
>     benchmark my results but I don't get any sensible results at all yet.
>     Last time Peter said he's working on a more portable way to read
>     dwarf information that doesn't require Linux. But I'm sure he'll
>     give a more acurate update than me soon in this mail thread.
>     As for stack traces, I don't think there's any big tasks left, but
>     I summarize what I have in mind:
>       * The haskell interface is done and I've iterated on it a bit,
>         so it's in a decent shape at least. Some parts still need testing.
>       * I wish I could implement the `forceCaseContinuation` that I've
>         described in my thesis. If someone is good with code
>         generation (I just suck at it, it's probably simple) and is
>         willing to assist me a bit, please say so. :)
>       * I tried benchmarking, I gave up after not getting any useful
>         results.
>       * I'm unfortunately totally incapable to help out with dwarf
>         debug data generation, only Peter knows that part,
>         particularly I never grasped his theoretical framework of
>         causality in Haskell.
>       * Peter and I have finally agreed on a simple and sensible way
>         to implement `catchWithStack` that have all most good
>         properties you would like. I just need to implement it and
>         test it. I can definitely man up and implement this. :)
>     Here's my master thesis btw [1], it should answer Ömer's question
>     of how we retrieve a stack from a language you think won't have a
>     stack. :)
>     Cheers,
>     Arash
>     [1]:
>     On 2014-08-13 17:02, Johan Tibell wrote:
>>     Hi,
>>     How's the integration of DWARF support coming along? It's
>>     probably one of the most important improvements to the runtime in
>>     quite some time since unlocks *two* important features, namely
>>      * trustworthy profiling (using e.g. Linux perf events and other
>>     low-overhead, code preserving, sampling profilers), and
>>      * stack traces.
>>     The former is really important to move our core libraries
>>     performance up a notch. Right now -prof is too invasive for it to
>>     be useful when evaluating the hotspots in these libraries (which
>>     are already often heavily tuned).
>>     The latter one is really important for real life Haskell on the
>>     server, where you can sometimes can get some crash that only
>>     happens once a day under very specific conditions. Knowing where
>>     the crash happens is then *very* useful.
>>     -- Johan
>>     _______________________________________________
>>     ghc-devs mailing list
>>     ghc-devs at  <mailto:ghc-devs at>
>     _______________________________________________
>     ghc-devs mailing list
>     ghc-devs at <mailto:ghc-devs at>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the ghc-devs mailing list