Index: third_party/tcmalloc/chromium/src/heap-profiler.cc |
diff --git a/third_party/tcmalloc/chromium/src/heap-profiler.cc b/third_party/tcmalloc/chromium/src/heap-profiler.cc |
index 73f31f743f6146a6108b75c2ef0b2f8a821e4e4e..1c5fcf088e297739303d400da5f3d198bff7087b 100644 |
--- a/third_party/tcmalloc/chromium/src/heap-profiler.cc |
+++ b/third_party/tcmalloc/chromium/src/heap-profiler.cc |
@@ -601,6 +601,30 @@ extern "C" void HeapProfilerDump(const char* reason) { |
} |
} |
+extern "C" void HeapProfilerMarkBaseline() { |
+ SpinLockHolder l(&heap_lock); |
+ |
+ if (!is_on) return; |
+ |
+ heap_profile->MarkCurrentAllocations(HeapProfileTable::MARK_ONE); |
+} |
+ |
+extern "C" void HeapProfilerMarkInteresting() { |
+ SpinLockHolder l(&heap_lock); |
+ |
+ if (!is_on) return; |
+ |
+ heap_profile->MarkUnmarkedAllocations(HeapProfileTable::MARK_TWO); |
+} |
+ |
+extern "C" void HeapProfilerDumpAliveObjects(const char* filename) { |
+ SpinLockHolder l(&heap_lock); |
+ |
+ if (!is_on) return; |
+ |
+ heap_profile->DumpMarkedObjects(HeapProfileTable::MARK_TWO, filename); |
+} |
+ |
//---------------------------------------------------------------------- |
// Initialization/finalization code |
//---------------------------------------------------------------------- |