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_ |