Index: third_party/tcmalloc/chromium/src/gperftools/heap-profiler.h |
diff --git a/third_party/tcmalloc/chromium/src/gperftools/heap-profiler.h b/third_party/tcmalloc/chromium/src/gperftools/heap-profiler.h |
index 8e3ee962c7126c9f582c022033b95cd71953902e..fdbff637905039d4cba9b08bd7112da4c6f12ba8 100644 |
--- a/third_party/tcmalloc/chromium/src/gperftools/heap-profiler.h |
+++ b/third_party/tcmalloc/chromium/src/gperftools/heap-profiler.h |
@@ -68,9 +68,23 @@ extern "C" { |
/* Start profiling and arrange to write profile data to file names |
* of the form: "prefix.0000", "prefix.0001", ... |
+ * |
+ * If |prefix| is NULL then dumps will not be written to disk. Applications |
+ * can use GetHeapProfile() to get profile data, but HeapProfilerDump() will do |
+ * nothing. |
*/ |
PERFTOOLS_DLL_DECL void HeapProfilerStart(const char* prefix); |
+/* Start profiling with a callback function that returns application-generated |
+ * pseudo-stacks. Profiles are not written to disk, but may be obtained via |
+ * GetHeapProfile(). In the callback the caller must provide a |stack| buffer |
+ * of at least size 32 * sizeof(void*). The callback must return the number of |
+ * items copied or zero. |
+ */ |
+typedef int (*PseudoStackGenerator)(void** stack); |
+PERFTOOLS_DLL_DECL void HeapProfilerWithPseudoStackStart( |
+ PseudoStackGenerator callback); |
+ |
/* Returns non-zero if we are currently profiling the heap. (Returns |
* an int rather than a bool so it's usable from C.) This is true |
* between calls to HeapProfilerStart() and HeapProfilerStop(), and |