| Index: base/memory/discardable_memory_ashmem_allocator.h
|
| diff --git a/base/memory/discardable_memory_ashmem_allocator.h b/base/memory/discardable_memory_ashmem_allocator.h
|
| deleted file mode 100644
|
| index 5106e1af77449816a6b90434983db3c40a09f023..0000000000000000000000000000000000000000
|
| --- a/base/memory/discardable_memory_ashmem_allocator.h
|
| +++ /dev/null
|
| @@ -1,93 +0,0 @@
|
| -// Copyright 2013 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_ASHMEM_ALLOCATOR_H_
|
| -#define BASE_MEMORY_DISCARDABLE_MEMORY_ASHMEM_ALLOCATOR_H_
|
| -
|
| -#include <string>
|
| -
|
| -#include "base/base_export.h"
|
| -#include "base/basictypes.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/memory/scoped_vector.h"
|
| -#include "base/synchronization/lock.h"
|
| -
|
| -namespace base {
|
| -namespace internal {
|
| -
|
| -class AshmemRegion;
|
| -
|
| -// Internal class, whose instances are returned to the client of the allocator
|
| -// (e.g. DiscardableMemoryAshmem), that mimicks the DiscardableMemory interface.
|
| -class BASE_EXPORT_PRIVATE DiscardableAshmemChunk {
|
| - public:
|
| - ~DiscardableAshmemChunk();
|
| -
|
| - // Returns whether the memory is still resident.
|
| - bool Lock();
|
| -
|
| - void Unlock();
|
| -
|
| - void* Memory() const;
|
| -
|
| - private:
|
| - friend class AshmemRegion;
|
| -
|
| - DiscardableAshmemChunk(AshmemRegion* ashmem_region,
|
| - int fd,
|
| - void* address,
|
| - size_t offset,
|
| - size_t size);
|
| -
|
| - AshmemRegion* const ashmem_region_;
|
| - const int fd_;
|
| - void* const address_;
|
| - const size_t offset_;
|
| - const size_t size_;
|
| - bool locked_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(DiscardableAshmemChunk);
|
| -};
|
| -
|
| -// Ashmem regions are backed by a file (descriptor) therefore they are a limited
|
| -// resource. This allocator minimizes the problem by allocating large ashmem
|
| -// regions internally and returning smaller chunks to the client.
|
| -// Allocated chunks are systematically aligned on a page boundary therefore this
|
| -// allocator should not be used for small allocations.
|
| -class BASE_EXPORT_PRIVATE DiscardableMemoryAshmemAllocator {
|
| - public:
|
| - // Note that |name| is only used for debugging/measurement purposes.
|
| - // |ashmem_region_size| is the size that will be used to create the underlying
|
| - // ashmem regions and is expected to be greater or equal than 32 MBytes.
|
| - DiscardableMemoryAshmemAllocator(const std::string& name,
|
| - size_t ashmem_region_size);
|
| -
|
| - ~DiscardableMemoryAshmemAllocator();
|
| -
|
| - // Note that the allocator must outlive the returned DiscardableAshmemChunk
|
| - // instance.
|
| - scoped_ptr<DiscardableAshmemChunk> Allocate(size_t size);
|
| -
|
| - // Returns the size of the last ashmem region which was created. This is used
|
| - // for testing only.
|
| - size_t last_ashmem_region_size() const;
|
| -
|
| - private:
|
| - friend class AshmemRegion;
|
| -
|
| - void DeleteAshmemRegion_Locked(AshmemRegion* region);
|
| -
|
| - const std::string name_;
|
| - const size_t ashmem_region_size_;
|
| - mutable Lock lock_;
|
| - size_t last_ashmem_region_size_;
|
| - ScopedVector<AshmemRegion> ashmem_regions_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(DiscardableMemoryAshmemAllocator);
|
| -};
|
| -
|
| -} // namespace internal
|
| -} // namespace base
|
| -
|
| -#endif // BASE_MEMORY_DISCARDABLE_MEMORY_ASHMEM_ALLOCATOR_H_
|
|
|