Here's a status update.

Recap: I proposed to create a new library to do fast in process
CFI and EXIDX based stack unwinding, so as to be able to profile
on tablets and phones with less overhead than using Breakpad.

The library now exists.  Tracking bug is 938157.  It does
CFI unwinding on x86_64-linux and arm-android, EXIDX on arm-android,
and stack scanning (as a last resort) on both.  Initial
integration with SPS has been completed and it produces plausible
profiles at least on x86_64-linux.

Compared with the best Breakpad based schemes, this library gives
easily a factor of 10 cost reduction for CFI unwinding.  My best
attempts with Breakpad achieved a cost of about 6600 insns/frame
on x86_64-linux.  The new library comes in at around 470 insns/frame,
without much attempt at optimisation.

It also facilitates implementation of the the kind of space-saving
techniques documented in
https://blog.mozilla.org/jseward/2013/09/03/how-compactly-can-cfiexidx-stack-unwinding-info-be-represented/

J

_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to