Index: base/allocator/allocated_type_profiler_control.cc |
diff --git a/base/allocator/allocated_type_profiler_control.cc b/base/allocator/allocated_type_profiler_control.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..3636d3a523368b7f97a0be374cb19edfd4f8f000 |
--- /dev/null |
+++ b/base/allocator/allocated_type_profiler_control.cc |
@@ -0,0 +1,34 @@ |
+// Copyright 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/allocated_type_profiler_control.h" |
+ |
+#if defined(PROFILING_ALLOCATED_TYPE) |
+static int g_enable_intercept = 1; |
+#endif |
+ |
+namespace base { |
+namespace allocated_type { |
jar (doing other things)
2012/08/23 19:55:25
nit: we don't "allocate types," so this namespace
Dai Mikurube (NOT FULLTIME)
2012/08/24 02:47:27
Renamed it to allocated_type_profiler.
As I said
jar (doing other things)
2012/08/27 17:17:12
I will remove the courtesy of calling this a nit,
Dai Mikurube (NOT FULLTIME)
2012/08/27 23:52:56
Ok, I'll rename the namespace to type_profiler. I
Dai Mikurube (NOT FULLTIME)
2012/08/28 09:04:57
Done.
|
+ |
+// Stops the interceptors __op_new_intercept__ and __op_delete_intercept__. |
+// |
+// The interceptors should be stopped at new/delete between fork and exec. |
+// See http://crbug.com/36678. |
jar (doing other things)
2012/08/23 19:55:25
nit: This comment should probably only be placed a
Dai Mikurube (NOT FULLTIME)
2012/08/24 02:47:27
Done. Moved it to the callsite, base/process_util
|
+ |
+void StopProfilingAllocatedType() { |
+#if defined(PROFILING_ALLOCATED_TYPE) |
+ g_enable_intercept = 0; |
+#endif |
+} |
+ |
+bool IsProfilingAllocatedType() { |
+#if defined(PROFILING_ALLOCATED_TYPE) |
+ return g_enable_intercept != 0; |
+#else |
+ return false; |
+#endif |
+} |
+ |
+} // namespace allocated_type |
+} // namespace base |