Index: third_party/tcmalloc/chromium/src/tcmalloc.cc |
diff --git a/third_party/tcmalloc/chromium/src/tcmalloc.cc b/third_party/tcmalloc/chromium/src/tcmalloc.cc |
index 118e40a09fdb44f2036949d4402e387817bf8cc4..018bd8e2ef3706de180d48c34947aef1fd77fc13 100644 |
--- a/third_party/tcmalloc/chromium/src/tcmalloc.cc |
+++ b/third_party/tcmalloc/chromium/src/tcmalloc.cc |
@@ -1719,8 +1719,22 @@ extern "C" PERFTOOLS_DLL_DECL size_t tc_malloc_size(void* ptr) __THROW { |
return MallocExtension::instance()->GetAllocatedSize(ptr); |
} |
+#if defined(OS_LINUX) |
+extern "C" void* PERFTOOLS_DLL_DECL tc_malloc_skip_new_handler(size_t size) { |
+ void* result = do_malloc(size); |
+ MallocHook::InvokeNewHook(result, size); |
+ return result; |
+} |
+#endif |
+ |
#endif // TCMALLOC_USING_DEBUGALLOCATION |
+#if defined(OS_LINUX) |
+// Alias the weak symbol in chromium to our implementation. |
+extern "C" __attribute__((visibility("default"), alias("tc_malloc_skip_new_handler"))) |
+void* tc_malloc_skip_new_handler_weak(size_t size); |
+#endif |
+ |
// --- Validation implementation with an extra mark ---------------------------- |
// We will put a mark at the extreme end of each allocation block. We make |
// sure that we always allocate enough "extra memory" that we can fit in the |