How's the integration of DWARF support coming along?

Johan Tibell johan.tibell at gmail.com
Wed Aug 13 17:15:26 UTC 2014


Without any overhead we'll get the runtime stack trace, which isn't exactly
the same as what we can get with emulation, but has the benefit that we can
leave it on in all of our shipped code if we like. This latter is a really
crucial property for stack traces to be widely useful.


On Wed, Aug 13, 2014 at 7:13 PM, Ömer Sinan Ağacan <omeragacan at gmail.com>
wrote:

> Sorry for my previous email. (used a gmail shortcut by mistake)
>
> We won't have stacks as we have in imperative(without TCO) and strict
> languages. So we still need some kind of emulation and I think this
> means some extra run-time operations. I'm wondering about two things:
>
> 1) Do we still get same traces as we get using GHC.Stack right now?
> 2) If yes, then how can we have that without any runtime costs?
>
> Thanks and sorry again for my previous email.
>
> ---
> Ömer Sinan Ağacan
> http://osa1.net
>
>
> 2014-08-13 20:08 GMT+03:00 Ömer Sinan Ağacan <omeragacan at gmail.com>:
> > Will generated stack traces be different that
> >
> > ---
> > Ömer Sinan Ağacan
> > http://osa1.net
> >
> >
> > 2014-08-13 19:56 GMT+03:00 Johan Tibell <johan.tibell at gmail.com>:
> >> Yes, it doesn't use any code modification so it doesn't have runtime
> >> overhead (except when generating the actual trace) or interfere with
> >> compiler optimizations. In other words you can actually have it enabled
> at
> >> all time. It only requires that you compile with -g, just like with a C
> >> compiler.
> >>
> >>
> >> On Wed, Aug 13, 2014 at 6:45 PM, Ömer Sinan Ağacan <
> omeragacan at gmail.com>
> >> wrote:
> >>>
> >>> Is this stack trace support different than what we have currently?
> >>> (e.g. the one implemented with GHC.Stack and cost centers)
> >>>
> >>> ---
> >>> Ömer Sinan Ağacan
> >>> http://osa1.net
> >>>
> >>>
> >>> 2014-08-13 18:02 GMT+03:00 Johan Tibell <johan.tibell at gmail.com>:
> >>> > 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 haskell.org
> >>> > http://www.haskell.org/mailman/listinfo/ghc-devs
> >>> >
> >>
> >>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/ghc-devs/attachments/20140813/dac38895/attachment.html>


More information about the ghc-devs mailing list