Index: base/memory/discardable_memory_mac.cc |
diff --git a/base/memory/discardable_memory_mac.cc b/base/memory/discardable_memory_mac.cc |
index 0c0b2a60add086856647343be5b1998c40dc8359..40a97392e955e1a740171f82ffca6f9508fa3805 100644 |
--- a/base/memory/discardable_memory_mac.cc |
+++ b/base/memory/discardable_memory_mac.cc |
@@ -11,6 +11,7 @@ |
#include "base/compiler_specific.h" |
#include "base/logging.h" |
#include "base/memory/discardable_memory_emulated.h" |
+#include "base/memory/discardable_memory_malloc.h" |
#include "base/memory/scoped_ptr.h" |
namespace base { |
@@ -103,7 +104,8 @@ void DiscardableMemory::GetSupportedTypes( |
std::vector<DiscardableMemoryType>* types) { |
const DiscardableMemoryType supported_types[] = { |
DISCARDABLE_MEMORY_TYPE_MAC, |
- DISCARDABLE_MEMORY_TYPE_EMULATED |
+ DISCARDABLE_MEMORY_TYPE_EMULATED, |
+ DISCARDABLE_MEMORY_TYPE_MALLOC |
}; |
types->assign(supported_types, supported_types + arraysize(supported_types)); |
} |
@@ -130,6 +132,14 @@ scoped_ptr<DiscardableMemory> DiscardableMemory::CreateLockedMemoryWithType( |
return memory.PassAs<DiscardableMemory>(); |
} |
+ case DISCARDABLE_MEMORY_TYPE_MALLOC: { |
+ scoped_ptr<internal::DiscardableMemoryMalloc> memory( |
+ new internal::DiscardableMemoryMalloc(size)); |
+ if (!memory->Initialize()) |
+ return scoped_ptr<DiscardableMemory>(); |
+ |
+ return memory.PassAs<DiscardableMemory>(); |
+ } |
} |
NOTREACHED(); |