f689b3fe71
This generalizes the fall-back to using base::debug::StackTrace to
capture stack traces in builds which lack frame pointers, allowing
native heap profiling to generate useful data, albeit with a more
significant performance penalty.
Changes made in the earlier patch for native heap profiling stack
capture under Windows are un-done in favour of the following:
1. MemoryDumpManager always allows native heap profiling[1].
2. HeapProfilerAllocationContextTracker chooses whether to use
base::debug::StackTrace or TraceStackFramePointers() based on
the value of BUILDFLAG(CAN_UNWIND_WITH_FRAME_POINTERS).
3. BUILDFLAG(CAN_UNWIND_WITH_FRAME_POINTERS) is no longer defined in
configurations which we cannot use frame pointers for unwinding[2].
[1] Though note that only certain build configs actually support
the necessary allocator shims; this will be addressed later.
[2] Frame pointers are only available in profiling & Debug builds on
some platforms, and are available but unsuitable for us to use for
stack unwinding, on others.
BUG=686208
Review-Url: https://codereview.chromium.org/2757123002
Review-Url: https://codereview.chromium.org/2757123002
Cr-Original-Commit-Position: refs/heads/master@{#463411}
Committed:
|
||
---|---|---|
.. | ||
pgo | ||
BUILD.gn | ||
compiler.gni |