| Index: base/trace_event/memory_dump_manager.cc
|
| diff --git a/base/trace_event/memory_dump_manager.cc b/base/trace_event/memory_dump_manager.cc
|
| index 78911307527312965560ea5f0e5066be46f35b56..6aaa3599720d150bc957cee18d965f5d93ecf7e5 100644
|
| --- a/base/trace_event/memory_dump_manager.cc
|
| +++ b/base/trace_event/memory_dump_manager.cc
|
| @@ -35,7 +35,6 @@
|
| #include "base/trace_event/trace_event.h"
|
| #include "base/trace_event/trace_event_argument.h"
|
| #include "build/build_config.h"
|
| -#include "build/buildflag.h"
|
|
|
| #if defined(OS_ANDROID)
|
| #include "base/trace_event/java_heap_dump_provider_android.h"
|
| @@ -190,11 +189,14 @@
|
| if (profiling_mode == "") {
|
| AllocationContextTracker::SetCaptureMode(
|
| AllocationContextTracker::CaptureMode::PSEUDO_STACK);
|
| +#if HAVE_TRACE_STACK_FRAME_POINTERS && \
|
| + (BUILDFLAG(ENABLE_PROFILING) || !defined(NDEBUG))
|
| } else if (profiling_mode == switches::kEnableHeapProfilingModeNative) {
|
| - // If we don't have frame pointers then native tracing falls-back to
|
| - // using base::debug::StackTrace, which may be slow.
|
| + // We need frame pointers for native tracing to work, and they are
|
| + // enabled in profiling and debug builds.
|
| AllocationContextTracker::SetCaptureMode(
|
| AllocationContextTracker::CaptureMode::NATIVE_STACK);
|
| +#endif
|
| #if BUILDFLAG(ENABLE_MEMORY_TASK_PROFILER)
|
| } else if (profiling_mode == switches::kEnableHeapProfilingTaskProfiler) {
|
| // Enable heap tracking, which in turn enables capture of heap usage
|
|
|