From e5f918c09ca74cc64f92ad5fd81f071687165248 Mon Sep 17 00:00:00 2001 From: reveman Date: Mon, 13 Oct 2014 15:00:19 -0700 Subject: [PATCH] base: Remove non-caching discardable memory implementation. This removes the "malloc" implementation of discardable memory. This implementation exists for test and debugging purproses but we currently don't have any tests that depend on it so it can be removed to reduce code size. This implementation can still be very useful to manually track down bugs and performance issues in discardable memory clients but can be maintained separately to reduce code size. BUG=422953 TBR=danakj@chromium.org Review URL: https://codereview.chromium.org/651913003 Cr-Commit-Position: refs/heads/master@{#299374} --- base/BUILD.gn | 2 -- base/base.gypi | 2 -- base/memory/discardable_memory.cc | 3 +-- base/memory/discardable_memory.h | 3 +-- base/memory/discardable_memory_android.cc | 12 +-------- base/memory/discardable_memory_linux.cc | 12 +-------- base/memory/discardable_memory_mac.cc | 12 +-------- base/memory/discardable_memory_malloc.cc | 43 ------------------------------- base/memory/discardable_memory_malloc.h | 35 ------------------------- base/memory/discardable_memory_win.cc | 12 +-------- 10 files changed, 6 insertions(+), 130 deletions(-) delete mode 100644 base/memory/discardable_memory_malloc.cc delete mode 100644 base/memory/discardable_memory_malloc.h diff --git a/base/BUILD.gn b/base/BUILD.gn index a190ea38f3c4..52f6c0394dda 100644 --- a/base/BUILD.gn +++ b/base/BUILD.gn @@ -325,8 +325,6 @@ component("base") { "memory/discardable_memory_emulated.h", "memory/discardable_memory_linux.cc", "memory/discardable_memory_mac.cc", - "memory/discardable_memory_malloc.cc", - "memory/discardable_memory_malloc.h", "memory/discardable_memory_manager.cc", "memory/discardable_memory_manager.h", "memory/discardable_memory_win.cc", diff --git a/base/base.gypi b/base/base.gypi index c5796ef8c165..85f4cf48c0ad 100644 --- a/base/base.gypi +++ b/base/base.gypi @@ -328,8 +328,6 @@ 'memory/discardable_memory_emulated.h', 'memory/discardable_memory_linux.cc', 'memory/discardable_memory_mac.cc', - 'memory/discardable_memory_malloc.cc', - 'memory/discardable_memory_malloc.h', 'memory/discardable_memory_manager.cc', 'memory/discardable_memory_manager.h', 'memory/discardable_memory_win.cc', diff --git a/base/memory/discardable_memory.cc b/base/memory/discardable_memory.cc index 9ba47aa6bfbb..4173dfcbcd57 100644 --- a/base/memory/discardable_memory.cc +++ b/base/memory/discardable_memory.cc @@ -16,8 +16,7 @@ const struct TypeNamePair { } kTypeNamePairs[] = { { DISCARDABLE_MEMORY_TYPE_ASHMEM, "ashmem" }, { DISCARDABLE_MEMORY_TYPE_MAC, "mac" }, - { DISCARDABLE_MEMORY_TYPE_EMULATED, "emulated" }, - { DISCARDABLE_MEMORY_TYPE_MALLOC, "malloc" } + { DISCARDABLE_MEMORY_TYPE_EMULATED, "emulated" } }; DiscardableMemoryType g_preferred_type = DISCARDABLE_MEMORY_TYPE_NONE; diff --git a/base/memory/discardable_memory.h b/base/memory/discardable_memory.h index 5b74705234ff..07c5bd448a52 100644 --- a/base/memory/discardable_memory.h +++ b/base/memory/discardable_memory.h @@ -19,8 +19,7 @@ enum DiscardableMemoryType { DISCARDABLE_MEMORY_TYPE_NONE, DISCARDABLE_MEMORY_TYPE_ASHMEM, DISCARDABLE_MEMORY_TYPE_MAC, - DISCARDABLE_MEMORY_TYPE_EMULATED, - DISCARDABLE_MEMORY_TYPE_MALLOC + DISCARDABLE_MEMORY_TYPE_EMULATED }; enum DiscardableMemoryLockStatus { diff --git a/base/memory/discardable_memory_android.cc b/base/memory/discardable_memory_android.cc index 9e589e2f4003..7dd8df71dc73 100644 --- a/base/memory/discardable_memory_android.cc +++ b/base/memory/discardable_memory_android.cc @@ -11,7 +11,6 @@ #include "base/memory/discardable_memory_ashmem.h" #include "base/memory/discardable_memory_ashmem_allocator.h" #include "base/memory/discardable_memory_emulated.h" -#include "base/memory/discardable_memory_malloc.h" #include "base/sys_info.h" namespace base { @@ -53,8 +52,7 @@ void DiscardableMemory::GetSupportedTypes( std::vector* types) { const DiscardableMemoryType supported_types[] = { DISCARDABLE_MEMORY_TYPE_ASHMEM, - DISCARDABLE_MEMORY_TYPE_EMULATED, - DISCARDABLE_MEMORY_TYPE_MALLOC + DISCARDABLE_MEMORY_TYPE_EMULATED }; types->assign(supported_types, supported_types + arraysize(supported_types)); } @@ -81,14 +79,6 @@ scoped_ptr DiscardableMemory::CreateLockedMemoryWithType( return memory.PassAs(); } - case DISCARDABLE_MEMORY_TYPE_MALLOC: { - scoped_ptr memory( - new internal::DiscardableMemoryMalloc(size)); - if (!memory->Initialize()) - return scoped_ptr(); - - return memory.PassAs(); - } case DISCARDABLE_MEMORY_TYPE_NONE: case DISCARDABLE_MEMORY_TYPE_MAC: NOTREACHED(); diff --git a/base/memory/discardable_memory_linux.cc b/base/memory/discardable_memory_linux.cc index d2cd6a542ab3..f4aade3c602f 100644 --- a/base/memory/discardable_memory_linux.cc +++ b/base/memory/discardable_memory_linux.cc @@ -6,7 +6,6 @@ #include "base/logging.h" #include "base/memory/discardable_memory_emulated.h" -#include "base/memory/discardable_memory_malloc.h" namespace base { @@ -19,8 +18,7 @@ bool DiscardableMemory::ReduceMemoryUsage() { void DiscardableMemory::GetSupportedTypes( std::vector* types) { const DiscardableMemoryType supported_types[] = { - DISCARDABLE_MEMORY_TYPE_EMULATED, - DISCARDABLE_MEMORY_TYPE_MALLOC + DISCARDABLE_MEMORY_TYPE_EMULATED }; types->assign(supported_types, supported_types + arraysize(supported_types)); } @@ -37,14 +35,6 @@ scoped_ptr DiscardableMemory::CreateLockedMemoryWithType( return memory.PassAs(); } - case DISCARDABLE_MEMORY_TYPE_MALLOC: { - scoped_ptr memory( - new internal::DiscardableMemoryMalloc(size)); - if (!memory->Initialize()) - return scoped_ptr(); - - return memory.PassAs(); - } case DISCARDABLE_MEMORY_TYPE_NONE: case DISCARDABLE_MEMORY_TYPE_ASHMEM: case DISCARDABLE_MEMORY_TYPE_MAC: diff --git a/base/memory/discardable_memory_mac.cc b/base/memory/discardable_memory_mac.cc index 65cae00992c2..01194ec8d785 100644 --- a/base/memory/discardable_memory_mac.cc +++ b/base/memory/discardable_memory_mac.cc @@ -13,7 +13,6 @@ #include "base/mac/mach_logging.h" #include "base/mac/scoped_mach_vm.h" #include "base/memory/discardable_memory_emulated.h" -#include "base/memory/discardable_memory_malloc.h" #include "base/memory/discardable_memory_manager.h" #include "base/memory/scoped_ptr.h" @@ -165,8 +164,7 @@ void DiscardableMemory::GetSupportedTypes( std::vector* types) { const DiscardableMemoryType supported_types[] = { DISCARDABLE_MEMORY_TYPE_MAC, - DISCARDABLE_MEMORY_TYPE_EMULATED, - DISCARDABLE_MEMORY_TYPE_MALLOC + DISCARDABLE_MEMORY_TYPE_EMULATED }; types->assign(supported_types, supported_types + arraysize(supported_types)); } @@ -190,14 +188,6 @@ scoped_ptr DiscardableMemory::CreateLockedMemoryWithType( return memory.PassAs(); } - case DISCARDABLE_MEMORY_TYPE_MALLOC: { - scoped_ptr memory( - new internal::DiscardableMemoryMalloc(size)); - if (!memory->Initialize()) - return scoped_ptr(); - - return memory.PassAs(); - } case DISCARDABLE_MEMORY_TYPE_NONE: case DISCARDABLE_MEMORY_TYPE_ASHMEM: NOTREACHED(); diff --git a/base/memory/discardable_memory_malloc.cc b/base/memory/discardable_memory_malloc.cc deleted file mode 100644 index a72f9112d390..000000000000 --- a/base/memory/discardable_memory_malloc.cc +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright 2014 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/memory/discardable_memory_malloc.h" - -#include "base/logging.h" - -namespace base { -namespace internal { - -DiscardableMemoryMalloc::DiscardableMemoryMalloc(size_t size) : size_(size) { -} - -DiscardableMemoryMalloc::~DiscardableMemoryMalloc() { -} - -bool DiscardableMemoryMalloc::Initialize() { - return Lock() != DISCARDABLE_MEMORY_LOCK_STATUS_FAILED; -} - -DiscardableMemoryLockStatus DiscardableMemoryMalloc::Lock() { - DCHECK(!memory_); - - memory_.reset(static_cast(malloc(size_))); - if (!memory_) - return DISCARDABLE_MEMORY_LOCK_STATUS_FAILED; - - return DISCARDABLE_MEMORY_LOCK_STATUS_PURGED; -} - -void DiscardableMemoryMalloc::Unlock() { - DCHECK(memory_); - memory_.reset(); -} - -void* DiscardableMemoryMalloc::Memory() const { - DCHECK(memory_); - return memory_.get(); -} - -} // namespace internal -} // namespace base diff --git a/base/memory/discardable_memory_malloc.h b/base/memory/discardable_memory_malloc.h deleted file mode 100644 index e22d51533b07..000000000000 --- a/base/memory/discardable_memory_malloc.h +++ /dev/null @@ -1,35 +0,0 @@ -// Copyright 2014 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. - -#ifndef BASE_MEMORY_DISCARDABLE_MEMORY_MALLOC_H_ -#define BASE_MEMORY_DISCARDABLE_MEMORY_MALLOC_H_ - -#include "base/memory/discardable_memory.h" - -namespace base { -namespace internal { - -class DiscardableMemoryMalloc : public DiscardableMemory { - public: - explicit DiscardableMemoryMalloc(size_t size); - virtual ~DiscardableMemoryMalloc(); - - bool Initialize(); - - // Overridden from DiscardableMemory: - virtual DiscardableMemoryLockStatus Lock() override; - virtual void Unlock() override; - virtual void* Memory() const override; - - private: - scoped_ptr memory_; - const size_t size_; - - DISALLOW_COPY_AND_ASSIGN(DiscardableMemoryMalloc); -}; - -} // namespace internal -} // namespace base - -#endif // BASE_MEMORY_DISCARDABLE_MEMORY_MALLOC_H_ diff --git a/base/memory/discardable_memory_win.cc b/base/memory/discardable_memory_win.cc index d2cd6a542ab3..f4aade3c602f 100644 --- a/base/memory/discardable_memory_win.cc +++ b/base/memory/discardable_memory_win.cc @@ -6,7 +6,6 @@ #include "base/logging.h" #include "base/memory/discardable_memory_emulated.h" -#include "base/memory/discardable_memory_malloc.h" namespace base { @@ -19,8 +18,7 @@ bool DiscardableMemory::ReduceMemoryUsage() { void DiscardableMemory::GetSupportedTypes( std::vector* types) { const DiscardableMemoryType supported_types[] = { - DISCARDABLE_MEMORY_TYPE_EMULATED, - DISCARDABLE_MEMORY_TYPE_MALLOC + DISCARDABLE_MEMORY_TYPE_EMULATED }; types->assign(supported_types, supported_types + arraysize(supported_types)); } @@ -37,14 +35,6 @@ scoped_ptr DiscardableMemory::CreateLockedMemoryWithType( return memory.PassAs(); } - case DISCARDABLE_MEMORY_TYPE_MALLOC: { - scoped_ptr memory( - new internal::DiscardableMemoryMalloc(size)); - if (!memory->Initialize()) - return scoped_ptr(); - - return memory.PassAs(); - } case DISCARDABLE_MEMORY_TYPE_NONE: case DISCARDABLE_MEMORY_TYPE_ASHMEM: case DISCARDABLE_MEMORY_TYPE_MAC: -- 2.11.4.GIT