Chromium Code Reviews| Index: base/memory/discardable_memory_shmem.cc |
| diff --git a/base/memory/discardable_memory_shmem.cc b/base/memory/discardable_memory_shmem.cc |
| index 42824813f8452bb51462d311d932ac49cd47fc48..416fcf2aa9fede8388c4895ec4084307d84c75ae 100644 |
| --- a/base/memory/discardable_memory_shmem.cc |
| +++ b/base/memory/discardable_memory_shmem.cc |
| @@ -88,33 +88,31 @@ void DiscardableMemoryShmem::Unlock() { |
| void* DiscardableMemoryShmem::Memory() const { |
| DCHECK(is_locked_); |
| - DCHECK(shared_memory_); |
| - return shared_memory_->memory(); |
| + DCHECK(chunk_); |
| + return chunk_->Memory(); |
| } |
| bool DiscardableMemoryShmem::AllocateAndAcquireLock() { |
| - if (shared_memory_ && shared_memory_->Lock(0, 0)) |
| + if (chunk_ && chunk_->Lock()) |
| return true; |
| - // TODO(reveman): Allocate fixed size memory segments and use a free list to |
| - // improve performance and limit the number of file descriptors used. |
| - shared_memory_ = DiscardableMemoryShmemAllocator::GetInstance() |
| - ->AllocateLockedDiscardableSharedMemory(bytes_); |
| - DCHECK(shared_memory_); |
| + chunk_ = DiscardableMemoryShmemAllocator::GetInstance() |
| + ->AllocateLockedDiscardableMemory(bytes_); |
| + DCHECK(chunk_); |
| return false; |
| } |
| void DiscardableMemoryShmem::ReleaseLock() { |
| - shared_memory_->Unlock(0, 0); |
| + chunk_->Unlock(); |
| } |
| void DiscardableMemoryShmem::Purge() { |
| - shared_memory_->Purge(Time()); |
| - shared_memory_.reset(); |
| + DCHECK(!is_locked_); |
|
danakj
2014/12/18 21:40:50
Why no chunk_->Purge()?
reveman
2014/12/19 00:49:54
The underlying shared memory can't be purged as it
|
| + chunk_.reset(); |
| } |
| bool DiscardableMemoryShmem::IsMemoryResident() const { |
| - return shared_memory_->IsMemoryResident(); |
| + return chunk_->IsMemoryResident(); |
| } |
| } // namespace internal |