#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 {
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));
}
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();