-
wez authored
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 Cr-Original-Commit-Position: refs/heads/master@{#460311} Committed: https://chromium.googlesource.com/chromium/src/+/22b017b9b241c47db8cf25c57c89c0b0d7fcfbe2 Review-Url: https://codereview.chromium.org/2757123002 Cr-Commit-Position: refs/heads/master@{#463411}
460b1244