chromium-src-build/config/compiler
wez f689b3fe71 Cleaner fall-back stack capture for --enable-heap-profiling=native.
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: 22b017b9b2
Cr-Original-Original-Commit-Position: refs/heads/master@{#460311}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 460b12442f72be8185a80cbf1ec0be6d11a27515
2017-04-10 21:55:36 +00:00
..
pgo Add the possibility to build with PGO when using Clang 2016-12-02 23:07:40 +00:00
BUILD.gn Explicitly specify whether to emit frame pointers by default. 2017-04-06 21:15:27 +00:00
compiler.gni Cleaner fall-back stack capture for --enable-heap-profiling=native. 2017-04-10 21:55:36 +00:00