| Index: content/renderer/render_thread_impl.cc
|
| diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
|
| index 8616dbdfd1c22b389660eb92cf4314797a34a306..3ae504a137971e138fdb33d683652419a05aa2bf 100644
|
| --- a/content/renderer/render_thread_impl.cc
|
| +++ b/content/renderer/render_thread_impl.cc
|
| @@ -881,11 +881,18 @@ void RenderThreadImpl::Init(
|
|
|
| categorized_worker_pool_->Start(num_raster_threads);
|
|
|
| + discardable_memory::mojom::DiscardableSharedMemoryManagerPtr manager_ptr;
|
| + ChildThread::Get()->GetRemoteInterfaces()->GetInterface(
|
| + mojo::GetProxy(&manager_ptr));
|
| + discardable_shared_memory_manager_ = base::MakeUnique<
|
| + discardable_memory::ClientDiscardableSharedMemoryManager>(
|
| + std::move(manager_ptr), GetIOTaskRunner());
|
| +
|
| // TODO(boliu): In single process, browser main loop should set up the
|
| // discardable memory manager, and should skip this if kSingleProcess.
|
| // See crbug.com/503724.
|
| base::DiscardableMemoryAllocator::SetInstance(
|
| - ChildThreadImpl::discardable_shared_memory_manager());
|
| + discardable_shared_memory_manager_.get());
|
|
|
| GetContentClient()->renderer()->ExposeInterfacesToBrowser(
|
| GetInterfaceRegistry());
|
| @@ -1040,7 +1047,7 @@ void RenderThreadImpl::Shutdown() {
|
| // Delay shutting down DiscardableSharedMemoryManager until blink::shutdown
|
| // is complete, because blink::shutdown destructs Blink Resources and they
|
| // may try to unlock their underlying discardable memory.
|
| - ChildThreadImpl::ShutdownDiscardableSharedMemoryManager();
|
| + discardable_shared_memory_manager_.reset();
|
|
|
| // The message loop must be cleared after shutting down
|
| // the DiscardableSharedMemoryManager, which needs to send messages
|
| @@ -1867,8 +1874,7 @@ void RenderThreadImpl::RecordPurgeAndSuspendMetrics() const {
|
| malloc_usage / 1024 / 1024);
|
|
|
| discardable_memory::ClientDiscardableSharedMemoryManager::Statistics
|
| - discardable_stats =
|
| - ChildThreadImpl::discardable_shared_memory_manager()->GetStatistics();
|
| + discardable_stats = discardable_shared_memory_manager_->GetStatistics();
|
| size_t discardable_usage =
|
| discardable_stats.total_size - discardable_stats.freelist_size;
|
| UMA_HISTOGRAM_MEMORY_KB("PurgeAndSuspend.Memory.DiscardableKB",
|
| @@ -2443,7 +2449,7 @@ void RenderThreadImpl::OnRendererVisible() {
|
|
|
| void RenderThreadImpl::ReleaseFreeMemory() {
|
| base::allocator::ReleaseFreeMemory();
|
| - discardable_shared_memory_manager()->ReleaseFreeMemory();
|
| + discardable_shared_memory_manager_->ReleaseFreeMemory();
|
|
|
| if (blink_platform_impl_)
|
| blink::decommitFreeableMemory();
|
|
|