Chromium Code Reviews| Index: content/common/host_discardable_shared_memory_manager.cc |
| diff --git a/content/common/host_discardable_shared_memory_manager.cc b/content/common/host_discardable_shared_memory_manager.cc |
| index 7590c1f9bb4c6848f950a21da491494ab04ea0d8..23b1601c772fea2c2adadb7869ee5d93f559adc9 100644 |
| --- a/content/common/host_discardable_shared_memory_manager.cc |
| +++ b/content/common/host_discardable_shared_memory_manager.cc |
| @@ -31,8 +31,10 @@ namespace { |
| class DiscardableMemoryImpl : public base::DiscardableMemory { |
| public: |
| DiscardableMemoryImpl(scoped_ptr<base::DiscardableSharedMemory> shared_memory, |
| + size_t size, |
|
reveman
2015/08/21 18:05:24
can we use shared_memory->mapped_size() instead?
ssid
2015/08/24 14:52:10
Done.
|
| const base::Closure& deleted_callback) |
| : shared_memory_(shared_memory.Pass()), |
| + size_(size), |
| deleted_callback_(deleted_callback), |
| is_locked_(true) {} |
| @@ -64,8 +66,21 @@ class DiscardableMemoryImpl : public base::DiscardableMemory { |
| return shared_memory_->memory(); |
| } |
| + base::trace_event::MemoryAllocatorDump* CreateMemoryAllocatorDump( |
| + const char* name, |
| + base::trace_event::ProcessMemoryDump* pmd) override { |
| + // The memory could have been purged by the heap, but we still create a |
|
reveman
2015/08/21 18:05:24
note: there's no heap in this case
ssid
2015/08/24 14:52:10
Done.
|
| + // dump. So, the size can be inaccurate. |
| + base::trace_event::MemoryAllocatorDump* dump = |
| + pmd->CreateAllocatorDump(name); |
| + dump->AddScalar(base::trace_event::MemoryAllocatorDump::kNameSize, |
| + base::trace_event::MemoryAllocatorDump::kUnitsBytes, size_); |
| + return dump; |
| + } |
| + |
| private: |
| scoped_ptr<base::DiscardableSharedMemory> shared_memory_; |
| + size_t size_; |
| const base::Closure deleted_callback_; |
| bool is_locked_; |
| @@ -147,7 +162,7 @@ HostDiscardableSharedMemoryManager::AllocateLockedDiscardableMemory( |
| // Close file descriptor to avoid running out. |
| memory->Close(); |
| return make_scoped_ptr(new DiscardableMemoryImpl( |
| - memory.Pass(), |
| + memory.Pass(), size, |
| base::Bind( |
| &HostDiscardableSharedMemoryManager::DeletedDiscardableSharedMemory, |
| base::Unretained(this), new_id, ChildProcessHost::kInvalidUniqueID))); |