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 6aaa3599720d150bc957cee18d965f5d93ecf7e5..78911307527312965560ea5f0e5066be46f35b56 100644 |
--- a/base/trace_event/memory_dump_manager.cc |
+++ b/base/trace_event/memory_dump_manager.cc |
@@ -35,6 +35,7 @@ |
#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" |
@@ -189,14 +190,11 @@ void MemoryDumpManager::EnableHeapProfilingIfNeeded() { |
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) { |
- // We need frame pointers for native tracing to work, and they are |
- // enabled in profiling and debug builds. |
+ // If we don't have frame pointers then native tracing falls-back to |
+ // using base::debug::StackTrace, which may be slow. |
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 |