Index: base/allocator/allocator_extension.cc |
diff --git a/base/allocator/allocator_extension.cc b/base/allocator/allocator_extension.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..7ae11da3e301121f328b265dac2bf489d3c5b52e |
--- /dev/null |
+++ b/base/allocator/allocator_extension.cc |
@@ -0,0 +1,42 @@ |
+// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "base/allocator/allocator_extension.h" |
+ |
+#include "base/logging.h" |
+ |
+namespace base { |
+namespace allocator { |
+ |
+void GetStats(char* buffer, int buffer_length) { |
+ DCHECK_GT(buffer_length, 0); |
+ if (thunks::GetStatsFunction* get_stats_function = |
+ base::allocator::thunks::GetGetStatsFunction()) |
+ get_stats_function(buffer, buffer_length); |
+ else |
+ buffer[0] = '\0'; |
+} |
+ |
+void ReleaseFreeMemory() { |
+ if (thunks::ReleaseFreeMemoryFunction* release_free_memory_function = |
+ base::allocator::thunks::GetReleaseFreeMemoryFunction()) |
+ release_free_memory_function(); |
+} |
+ |
+void SetGetStatsFunction(thunks::GetStatsFunction* get_stats_function) { |
+ DCHECK_EQ(base::allocator::thunks::GetGetStatsFunction(), |
+ reinterpret_cast<thunks::GetStatsFunction*>(NULL)); |
+ base::allocator::thunks::SetGetStatsFunction(get_stats_function); |
+} |
+ |
+void SetReleaseFreeMemoryFunction( |
+ thunks::ReleaseFreeMemoryFunction* release_free_memory_function) { |
+ DCHECK_EQ(base::allocator::thunks::GetReleaseFreeMemoryFunction(), |
+ reinterpret_cast<thunks::ReleaseFreeMemoryFunction*>(NULL)); |
+ base::allocator::thunks::SetReleaseFreeMemoryFunction( |
+ release_free_memory_function); |
+} |
+ |
+} // namespace allocator |
+} // namespace base |