Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(533)

Unified Diff: components/discardable_memory/client/child_discardable_shared_memory_manager.cc

Issue 2459733002: Move discardable memory to //components from //content (Closed)
Patch Set: Fix build error in ios Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/discardable_memory/client/child_discardable_shared_memory_manager.cc
diff --git a/content/child/child_discardable_shared_memory_manager.cc b/components/discardable_memory/client/child_discardable_shared_memory_manager.cc
similarity index 92%
rename from content/child/child_discardable_shared_memory_manager.cc
rename to components/discardable_memory/client/child_discardable_shared_memory_manager.cc
index 1d1aa4c4591f0ba2aaacf3050aeb3e08ba6c4dc4..e756493fba2eb122232ff8d922358ed41d6e581b 100644
--- a/content/child/child_discardable_shared_memory_manager.cc
+++ b/components/discardable_memory/client/child_discardable_shared_memory_manager.cc
@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "content/child/child_discardable_shared_memory_manager.h"
+#include "components/discardable_memory/client/child_discardable_shared_memory_manager.h"
#include <inttypes.h>
@@ -24,9 +24,8 @@
#include "base/threading/thread_task_runner_handle.h"
#include "base/trace_event/memory_dump_manager.h"
#include "base/trace_event/trace_event.h"
-#include "content/common/child_process_messages.h"
-namespace content {
+namespace discardable_memory {
namespace {
// Default allocation size.
@@ -84,16 +83,16 @@ class DiscardableMemoryImpl : public base::DiscardableMemory {
};
void SendDeletedDiscardableSharedMemoryMessage(
- scoped_refptr<ThreadSafeSender> sender,
+ ChildDiscardableSharedMemoryManager::Delegate* delegate,
DiscardableSharedMemoryId id) {
- sender->Send(new ChildProcessHostMsg_DeletedDiscardableSharedMemory(id));
+ delegate->DeletedDiscardableSharedMemory(id);
}
} // namespace
ChildDiscardableSharedMemoryManager::ChildDiscardableSharedMemoryManager(
- ThreadSafeSender* sender)
- : heap_(base::GetPageSize()), sender_(sender) {
+ Delegate* delegate)
+ : heap_(base::GetPageSize()), delegate_(delegate) {
base::trace_event::MemoryDumpManager::GetInstance()->RegisterDumpProvider(
this, "ChildDiscardableSharedMemoryManager",
base::ThreadTaskRunnerHandle::Get());
@@ -115,8 +114,9 @@ ChildDiscardableSharedMemoryManager::AllocateLockedDiscardableMemory(
DCHECK_NE(size, 0u);
+ auto size_in_kb = static_cast<base::HistogramBase::Sample>(size / 1024);
UMA_HISTOGRAM_CUSTOM_COUNTS("Memory.DiscardableAllocationSize",
- size / 1024, // In KB
+ size_in_kb, // In KB
1,
4 * 1024 * 1024, // 4 GB
50);
@@ -189,9 +189,10 @@ ChildDiscardableSharedMemoryManager::AllocateLockedDiscardableMemory(
AllocateLockedDiscardableSharedMemory(allocation_size_in_bytes, new_id));
// Create span for allocated memory.
- std::unique_ptr<DiscardableSharedMemoryHeap::Span> new_span(heap_.Grow(
- std::move(shared_memory), allocation_size_in_bytes, new_id,
- base::Bind(&SendDeletedDiscardableSharedMemoryMessage, sender_, new_id)));
+ std::unique_ptr<DiscardableSharedMemoryHeap::Span> new_span(
+ heap_.Grow(std::move(shared_memory), allocation_size_in_bytes, new_id,
+ base::Bind(&SendDeletedDiscardableSharedMemoryMessage,
+ delegate_, new_id)));
new_span->set_is_locked(true);
// Unlock and insert any left over memory into free lists.
@@ -265,7 +266,7 @@ bool ChildDiscardableSharedMemoryManager::LockSpan(
return false;
size_t offset = span->start() * base::GetPageSize() -
- reinterpret_cast<size_t>(span->shared_memory()->memory());
+ reinterpret_cast<size_t>(span->shared_memory()->memory());
size_t length = span->length() * base::GetPageSize();
switch (span->shared_memory()->Lock(offset, length)) {
@@ -290,7 +291,7 @@ void ChildDiscardableSharedMemoryManager::UnlockSpan(
DCHECK(span->shared_memory());
size_t offset = span->start() * base::GetPageSize() -
- reinterpret_cast<size_t>(span->shared_memory()->memory());
+ reinterpret_cast<size_t>(span->shared_memory()->memory());
size_t length = span->length() * base::GetPageSize();
span->set_is_locked(false);
@@ -330,9 +331,7 @@ ChildDiscardableSharedMemoryManager::AllocateLockedDiscardableSharedMemory(
"size", size, "id", id);
base::SharedMemoryHandle handle = base::SharedMemory::NULLHandle();
- sender_->Send(
- new ChildProcessHostMsg_SyncAllocateLockedDiscardableSharedMemory(
- size, id, &handle));
+ delegate_->AllocateLockedDiscardableSharedMemory(size, id, &handle);
std::unique_ptr<base::DiscardableSharedMemory> memory(
new base::DiscardableSharedMemory(handle));
if (!memory->Map(size))
@@ -353,4 +352,4 @@ void ChildDiscardableSharedMemoryManager::MemoryUsageChanged(
base::Uint64ToString(new_bytes_free));
}
-} // namespace content
+} // namespace discardable_memory

Powered by Google App Engine
This is Rietveld 408576698