Index: blimp/client/app/blimp_discardable_memory_allocator.h |
diff --git a/blimp/client/app/blimp_discardable_memory_allocator.h b/blimp/client/app/blimp_discardable_memory_allocator.h |
deleted file mode 100644 |
index 24d1f1f560286cd3eaac126efd334da469579e5f..0000000000000000000000000000000000000000 |
--- a/blimp/client/app/blimp_discardable_memory_allocator.h |
+++ /dev/null |
@@ -1,82 +0,0 @@ |
-// Copyright 2016 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 BLIMP_CLIENT_APP_BLIMP_DISCARDABLE_MEMORY_ALLOCATOR_H_ |
-#define BLIMP_CLIENT_APP_BLIMP_DISCARDABLE_MEMORY_ALLOCATOR_H_ |
- |
-#include <list> |
-#include <memory> |
- |
-#include "base/macros.h" |
-#include "base/memory/discardable_memory_allocator.h" |
-#include "base/synchronization/lock.h" |
- |
-namespace blimp { |
-namespace client { |
- |
-// TODO(khushalsagar): See if we can share this implementation with html_viewer. |
-// A discardable memory allocator which will unallocate chunks on new |
-// allocations or as old chunks are unlocked. |
-class BlimpDiscardableMemoryAllocator : |
- public base::DiscardableMemoryAllocator { |
- public: |
- BlimpDiscardableMemoryAllocator(); |
- explicit BlimpDiscardableMemoryAllocator(size_t desired_max_memory); |
- ~BlimpDiscardableMemoryAllocator() override; |
- |
- // Overridden from DiscardableMemoryAllocator: |
- std::unique_ptr<base::DiscardableMemory> AllocateLockedDiscardableMemory( |
- size_t size) override; |
- |
- private: |
- class DiscardableMemoryChunkImpl; |
- friend class DiscardableMemoryChunkImpl; |
- |
- typedef std::list<DiscardableMemoryChunkImpl*> MemoryChunkList; |
- |
- // Called by DiscardableMemoryChunkImpl when they are unlocked. This puts them |
- // at the end of the live_unlocked_chunks_ list and passes an iterator to |
- // their position in the unlocked chunk list. |
- MemoryChunkList::iterator NotifyUnlocked( |
- DiscardableMemoryChunkImpl* chunk); |
- |
- // Called by DiscardableMemoryChunkImpl when they are locked. This removes the |
- // passed in unlocked chunk list. |
- void NotifyLocked(MemoryChunkList::iterator it); |
- |
- // Called by DiscardableMemoryChunkImpl when it's destructed. It must be |
- // unlocked, by definition. |
- void NotifyDestructed(MemoryChunkList::iterator it); |
- |
- // Unallocate unlocked chunks if the total live memory is higher than the |
- // desired max memory. |
- void FreeUnlockedChunksIfNeeded(); |
- |
- // The amount of memory we can allocate before we try to free unlocked |
- // chunks. We can go over this amount if all callers keep their discardable |
- // chunks locked. |
- const size_t desired_max_memory_; |
- |
- // Protects all members below, since this class can be called on the main |
- // thread and impl side painting raster threads. |
- base::Lock lock_; |
- |
- // A count of the sum of memory. Used to trigger discarding the oldest |
- // memory. |
- size_t total_live_memory_; |
- |
- // The number of locked chunks. |
- int locked_chunks_; |
- |
- // A linked list of unlocked allocated chunks so that the tail is most |
- // recently accessed chunks. |
- MemoryChunkList live_unlocked_chunks_; |
- |
- DISALLOW_COPY_AND_ASSIGN(BlimpDiscardableMemoryAllocator); |
-}; |
- |
-} // namespace client |
-} // namespace blimp |
- |
-#endif // BLIMP_CLIENT_APP_BLIMP_DISCARDABLE_MEMORY_ALLOCATOR_H_ |