| Index: base/memory/discardable_memory_ashmem.h
|
| diff --git a/base/memory/discardable_memory_emulated.h b/base/memory/discardable_memory_ashmem.h
|
| similarity index 43%
|
| copy from base/memory/discardable_memory_emulated.h
|
| copy to base/memory/discardable_memory_ashmem.h
|
| index 35ce08e286392fe06c1cb1f45a2a640e1269c892..8436f5d8ece1176728dd009ae9b265514921347b 100644
|
| --- a/base/memory/discardable_memory_emulated.h
|
| +++ b/base/memory/discardable_memory_ashmem.h
|
| @@ -1,28 +1,31 @@
|
| -// Copyright 2013 The Chromium Authors. All rights reserved.
|
| +// 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_EMULATED_H_
|
| -#define BASE_MEMORY_DISCARDABLE_MEMORY_EMULATED_H_
|
| +#ifndef BASE_MEMORY_DISCARDABLE_MEMORY_ASHMEM_H_
|
| +#define BASE_MEMORY_DISCARDABLE_MEMORY_ASHMEM_H_
|
|
|
| #include "base/memory/discardable_memory.h"
|
|
|
| +#include "base/macros.h"
|
| #include "base/memory/discardable_memory_manager.h"
|
|
|
| namespace base {
|
| namespace internal {
|
|
|
| -class DiscardableMemoryEmulated
|
| +class DiscardableAshmemChunk;
|
| +class DiscardableMemoryAshmemAllocator;
|
| +class DiscardableMemoryManager;
|
| +
|
| +class DiscardableMemoryAshmem
|
| : public DiscardableMemory,
|
| public internal::DiscardableMemoryManagerAllocation {
|
| public:
|
| - explicit DiscardableMemoryEmulated(size_t size);
|
| - virtual ~DiscardableMemoryEmulated();
|
| -
|
| - static void RegisterMemoryPressureListeners();
|
| - static void UnregisterMemoryPressureListeners();
|
| + explicit DiscardableMemoryAshmem(size_t bytes,
|
| + DiscardableMemoryAshmemAllocator* allocator,
|
| + DiscardableMemoryManager* manager);
|
|
|
| - static void PurgeForTesting();
|
| + virtual ~DiscardableMemoryAshmem();
|
|
|
| bool Initialize();
|
|
|
| @@ -32,18 +35,21 @@ class DiscardableMemoryEmulated
|
| virtual void* Memory() const OVERRIDE;
|
|
|
| // Overridden from internal::DiscardableMemoryManagerAllocation:
|
| - virtual bool AllocateAndAcquireLock(size_t bytes) OVERRIDE;
|
| - virtual void ReleaseLock() OVERRIDE {}
|
| + virtual bool AllocateAndAcquireLock() OVERRIDE;
|
| + virtual void ReleaseLock() OVERRIDE;
|
| virtual void Purge() OVERRIDE;
|
|
|
| private:
|
| - scoped_ptr<uint8[]> memory_;
|
| + const size_t bytes_;
|
| + DiscardableMemoryAshmemAllocator* const allocator_;
|
| + DiscardableMemoryManager* const manager_;
|
| bool is_locked_;
|
| + scoped_ptr<DiscardableAshmemChunk> ashmem_chunk_;
|
|
|
| - DISALLOW_COPY_AND_ASSIGN(DiscardableMemoryEmulated);
|
| + DISALLOW_COPY_AND_ASSIGN(DiscardableMemoryAshmem);
|
| };
|
|
|
| } // namespace internal
|
| } // namespace base
|
|
|
| -#endif // BASE_MEMORY_DISCARDABLE_MEMORY_EMULATED_H_
|
| +#endif // BASE_MEMORY_DISCARDABLE_MEMORY_ASHMEM_H_
|
|
|