|
This patch changes CFI rules to use a simpler representation that covers most of
what we hit in practice, skipping Postfix expressions (but leaving them as a
fallback path).
This is the first of a somewhat-invasive set of patches, all by Julian Seward.
He has patches to replace the unwinding of Firefox's built-in profiler with
Breakpad's unwinder, but the performance wasn't quite where we wanted it to be
for real-time profiling (especially on mobile). He did some profiling of stack
unwinding, and found that we spent a lot of time in the PostfixEvaluator,
primarily doing string comparisons. Since it uses strings as keys and values in
a bunch of maps this is not terribly surprising. We brainstormed some and came
up with the solution presented here. There are a few followup patches that
further optimize things.
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats |
Patch |
|
M |
Makefile.am
|
View
|
|
7 chunks |
+8 lines, -0 lines |
0 comments
|
Download
|
|
M |
Makefile.in
|
View
|
|
44 chunks |
+123 lines, -79 lines |
0 comments
|
Download
|
|
M |
aclocal.m4
|
View
|
|
12 chunks |
+49 lines, -27 lines |
0 comments
|
Download
|
|
M |
configure
|
View
|
|
110 chunks |
+307 lines, -259 lines |
0 comments
|
Download
|
|
M |
src/common/dwarf_cfi_to_module.cc
|
View
|
|
2 chunks |
+21 lines, -24 lines |
0 comments
|
Download
|
|
M |
src/common/dwarf_cfi_to_module.h
|
View
|
|
1 chunk |
+1 line, -1 line |
0 comments
|
Download
|
|
M |
src/common/dwarf_cfi_to_module_unittest.cc
|
View
|
|
2 chunks |
+13 lines, -10 lines |
0 comments
|
Download
|
|
M |
src/common/module.cc
|
View
|
|
1 chunk |
+18 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/common/module.h
|
View
|
|
1 chunk |
+63 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/common/module_unittest.cc
|
View
|
|
5 chunks |
+32 lines, -32 lines |
0 comments
|
Download
|
|
M |
src/processor/cfi_frame_info.cc
|
View
|
|
3 chunks |
+7 lines, -6 lines |
0 comments
|
Download
|
|
M |
src/processor/cfi_frame_info.h
|
View
|
|
3 chunks |
+13 lines, -15 lines |
0 comments
|
Download
|
|
M |
src/processor/cfi_frame_info_unittest.cc
|
View
|
|
4 chunks |
+45 lines, -43 lines |
0 comments
|
Download
|
|
M |
src/processor/postfix_evaluator-inl.h
|
View
|
|
1 chunk |
+65 lines, -17 lines |
0 comments
|
Download
|
|
M |
src/processor/postfix_evaluator.h
|
View
|
|
2 chunks |
+7 lines, -6 lines |
0 comments
|
Download
|
Total messages: 1
|