Port PluginObject fix downstream. See http://trac.webkit.org/changeset/61415/ for...
[chromium-blink-merge.git] / base / memory_debug.cc
blob7d048e65748a7731c574ed850590275cb465bd5b
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;
22 void MemoryDebug::DumpAllMemoryInUse() {
23 #ifdef PURIFY
24 if (memory_in_use_)
25 PurifyAllInuse();
26 #endif
29 void MemoryDebug::DumpNewMemoryInUse() {
30 #ifdef PURIFY
31 if (memory_in_use_)
32 PurifyNewInuse();
33 #endif
36 void MemoryDebug::DumpAllLeaks() {
37 #ifdef PURIFY
38 PurifyAllLeaks();
39 #endif
42 void MemoryDebug::DumpNewLeaks() {
43 #ifdef PURIFY
44 PurifyNewLeaks();
45 #endif
48 void MemoryDebug::MarkAsInitialized(void* addr, size_t size) {
49 #ifdef PURIFY
50 PurifyMarkAsInitialized(addr, size);
51 #endif
54 } // namespace base