Feed on
Posts
Comments

Archive for the 'Uncategorized' Category

In last week’s episode of The Wonderful World of CFI Unwinding we looked at how fast it could be done.  This week we’re going to look at how compactly the unwind information can be stored. But I know you want a summary up front, so here it is: I reckon it’s possible to store enough […]

This is a long post.  Here’s a summary. Valgrind unwinds CFI typically 30 times faster than Breakpad.  Bad though that sounds, it’s really encouraging.  If we can get even half that speedup — that is, 15 times faster than at present — CFI/EXIDX unwinding in SPS will be a lot more useful than it currently […]

SPS profiler backend news, 12 August 2013

In short: more adaptation to real-use cases, and more unwind speedups. Benoit redid time-unit measurements so as to support profiling with sampling intervals of less than one millisecond.  This will help profiling graphics and animation code (820048). Gijs Kruitbosch made it possible to control the size of the profiler’s circular buffer using the MOZ_PROFILER_ENTRIES environment […]

SPS Profiler backend news, 8 July 2013

There’s been quite some progress since the last report, focussed on Firefox for Android. Anton Kovalyov landed changes to the GUI that show the event timelines for multiple threads in a synchronised way.  The multithreaded aspects of the profiler are stabilising nicely. Multi-thread profiling support is ready.  Select ‘Multi-Thread’ when profiling to watch any registered […]

Profiler backend news, 3 June 2013

Since the last report, work has focused on making multithreaded profiling more usable, using ARM EXIDX unwind data for Android nightlies, and more analysis of unwind failures.  The latter two lines of investigation happened concurrently because there was some doubt as to how good EXIDX is, so I wanted to find out to what extent […]

Profiler backend news, 30 April 2013

There has been a lot of activity since the previous report, mostly along three lines of development: multithreaded profiling, getting profiling working for Android nightlies, and improving the quality of the stack traces. We now have native unwinds working out-of-the-box for 32- and 64-bit Linux nightlies, and very nearly working for Android nightlies. Multithreaded profiling: […]

Profiler backend news, 10 April 2013

Here is some news about work on Firefox’s built-in time profiler (SPS), and in particular the work being done to use native stack unwinding by using the in-tree copy of the Breakpad unwinding library. There has been a lot of activity in the two and a half weeks since we got back from Paris.  Some […]

Valgrind now supports JEMalloc builds directly

Following some sterling hackery by Alexander Potapenko and Philippe Waroquiers, Valgrind/Memcheck now has direct support for JEMalloc, tcmalloc, and any other allocation library offering a malloc-style interface. This means you no longer need to build Firefox using –disable-jemalloc on Linux.  You do still need –enable-valgrind, to stop V freaking out when JS GC scans the […]

On Android, we have a couple of ways to periodically extract stack traces from a running Firefox: the built in profiler, and Valgrind.  In principle oprofile could also produce stacks at intervals, although it doesn’t. Looking at zillions of stacks, or text-only output derived from them, isn’t much fun.  What I’d really like to do […]

Various sets of fixes have been committed for Valgrind on Lion.  It now works well enough to run 64 bit Firefox builds and get sane results.  32 bit builds run too, but appear to hang, for threading related reasons I cannot figure out, despite quite some investigative effort. There may be some false positives from […]

Next »