Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "base/memory_debug.h"
7 #ifdef PURIFY
8 // this #define is used to prevent people from directly using pure.h
9 // instead of memory_debug.h
10 #define PURIFY_PRIVATE_INCLUDE
11 #include "base/third_party/purify/pure.h"
12 #endif
14 namespace base {
16 bool MemoryDebug::memory_in_use_ = false;
18 void MemoryDebug::SetMemoryInUseEnabled(bool enabled) {
19 memory_in_use_ = enabled;
20 }
22 void MemoryDebug::DumpAllMemoryInUse() {
23 #ifdef PURIFY
24 if (memory_in_use_)
25 PurifyAllInuse();
26 #endif
27 }
29 void MemoryDebug::DumpNewMemoryInUse() {
30 #ifdef PURIFY
31 if (memory_in_use_)
32 PurifyNewInuse();
33 #endif
34 }
36 void MemoryDebug::DumpAllLeaks() {
37 #ifdef PURIFY
38 PurifyAllLeaks();
39 #endif
40 }
42 void MemoryDebug::DumpNewLeaks() {
43 #ifdef PURIFY
44 PurifyNewLeaks();
45 #endif
46 }
48 void MemoryDebug::MarkAsInitialized(void* addr, size_t size) {
49 #ifdef PURIFY
50 PurifyMarkAsInitialized(addr, size);
51 #endif
52 }
54 } // namespace base