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

Side by Side Diff: base/trace_event/memory_dump_manager.cc

Issue 1800743003: base: Remove some unnecessary const scoped_refptr<>&. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 months 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/trace_event/memory_dump_manager.h" 5 #include "base/trace_event/memory_dump_manager.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/atomic_sequence_num.h" 10 #include "base/atomic_sequence_num.h"
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 bool is_tracing_already_enabled = TraceLog::GetInstance()->IsEnabled(); 204 bool is_tracing_already_enabled = TraceLog::GetInstance()->IsEnabled();
205 TRACE_EVENT0(kTraceCategory, "init"); // Add to trace-viewer category list. 205 TRACE_EVENT0(kTraceCategory, "init"); // Add to trace-viewer category list.
206 TraceLog::GetInstance()->AddEnabledStateObserver(this); 206 TraceLog::GetInstance()->AddEnabledStateObserver(this);
207 if (is_tracing_already_enabled) 207 if (is_tracing_already_enabled)
208 OnTraceLogEnabled(); 208 OnTraceLogEnabled();
209 } 209 }
210 210
211 void MemoryDumpManager::RegisterDumpProvider( 211 void MemoryDumpManager::RegisterDumpProvider(
212 MemoryDumpProvider* mdp, 212 MemoryDumpProvider* mdp,
213 const char* name, 213 const char* name,
214 const scoped_refptr<SingleThreadTaskRunner>& task_runner, 214 scoped_refptr<SingleThreadTaskRunner> task_runner,
215 MemoryDumpProvider::Options options) { 215 MemoryDumpProvider::Options options) {
216 options.dumps_on_single_thread_task_runner = true; 216 options.dumps_on_single_thread_task_runner = true;
217 RegisterDumpProviderInternal(mdp, name, task_runner, options); 217 RegisterDumpProviderInternal(mdp, name, std::move(task_runner), options);
218 } 218 }
219 219
220 void MemoryDumpManager::RegisterDumpProvider( 220 void MemoryDumpManager::RegisterDumpProvider(
221 MemoryDumpProvider* mdp, 221 MemoryDumpProvider* mdp,
222 const char* name, 222 const char* name,
223 const scoped_refptr<SingleThreadTaskRunner>& task_runner) { 223 scoped_refptr<SingleThreadTaskRunner> task_runner) {
224 // Set |dumps_on_single_thread_task_runner| to true because all providers 224 // Set |dumps_on_single_thread_task_runner| to true because all providers
225 // without task runner are run on dump thread. 225 // without task runner are run on dump thread.
226 MemoryDumpProvider::Options options; 226 MemoryDumpProvider::Options options;
227 options.dumps_on_single_thread_task_runner = true; 227 options.dumps_on_single_thread_task_runner = true;
228 RegisterDumpProviderInternal(mdp, name, task_runner, options); 228 RegisterDumpProviderInternal(mdp, name, std::move(task_runner), options);
229 } 229 }
230 230
231 void MemoryDumpManager::RegisterDumpProviderWithSequencedTaskRunner( 231 void MemoryDumpManager::RegisterDumpProviderWithSequencedTaskRunner(
232 MemoryDumpProvider* mdp, 232 MemoryDumpProvider* mdp,
233 const char* name, 233 const char* name,
234 const scoped_refptr<SequencedTaskRunner>& task_runner, 234 scoped_refptr<SequencedTaskRunner> task_runner,
235 MemoryDumpProvider::Options options) { 235 MemoryDumpProvider::Options options) {
236 DCHECK(task_runner); 236 DCHECK(task_runner);
237 options.dumps_on_single_thread_task_runner = false; 237 options.dumps_on_single_thread_task_runner = false;
238 RegisterDumpProviderInternal(mdp, name, task_runner, options); 238 RegisterDumpProviderInternal(mdp, name, std::move(task_runner), options);
239 } 239 }
240 240
241 void MemoryDumpManager::RegisterDumpProviderInternal( 241 void MemoryDumpManager::RegisterDumpProviderInternal(
242 MemoryDumpProvider* mdp, 242 MemoryDumpProvider* mdp,
243 const char* name, 243 const char* name,
244 const scoped_refptr<SequencedTaskRunner>& task_runner, 244 scoped_refptr<SequencedTaskRunner> task_runner,
245 const MemoryDumpProvider::Options& options) { 245 const MemoryDumpProvider::Options& options) {
246 if (dumper_registrations_ignored_for_testing_) 246 if (dumper_registrations_ignored_for_testing_)
247 return; 247 return;
248 248
249 scoped_refptr<MemoryDumpProviderInfo> mdpinfo = 249 scoped_refptr<MemoryDumpProviderInfo> mdpinfo =
250 new MemoryDumpProviderInfo(mdp, name, task_runner, options); 250 new MemoryDumpProviderInfo(mdp, name, std::move(task_runner), options);
251 251
252 { 252 {
253 AutoLock lock(lock_); 253 AutoLock lock(lock_);
254 bool already_registered = !dump_providers_.insert(mdpinfo).second; 254 bool already_registered = !dump_providers_.insert(mdpinfo).second;
255 // This actually happens in some tests which don't have a clean tear-down 255 // This actually happens in some tests which don't have a clean tear-down
256 // path for RenderThreadImpl::Init(). 256 // path for RenderThreadImpl::Init().
257 if (already_registered) 257 if (already_registered)
258 return; 258 return;
259 } 259 }
260 260
(...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after
696 dump_thread->Stop(); 696 dump_thread->Stop();
697 } 697 }
698 698
699 uint64_t MemoryDumpManager::GetTracingProcessId() const { 699 uint64_t MemoryDumpManager::GetTracingProcessId() const {
700 return delegate_->GetTracingProcessId(); 700 return delegate_->GetTracingProcessId();
701 } 701 }
702 702
703 MemoryDumpManager::MemoryDumpProviderInfo::MemoryDumpProviderInfo( 703 MemoryDumpManager::MemoryDumpProviderInfo::MemoryDumpProviderInfo(
704 MemoryDumpProvider* dump_provider, 704 MemoryDumpProvider* dump_provider,
705 const char* name, 705 const char* name,
706 const scoped_refptr<SequencedTaskRunner>& task_runner, 706 scoped_refptr<SequencedTaskRunner> task_runner,
707 const MemoryDumpProvider::Options& options) 707 const MemoryDumpProvider::Options& options)
708 : dump_provider(dump_provider), 708 : dump_provider(dump_provider),
709 name(name), 709 name(name),
710 task_runner(task_runner), 710 task_runner(std::move(task_runner)),
711 options(options), 711 options(options),
712 consecutive_failures(0), 712 consecutive_failures(0),
713 disabled(false) {} 713 disabled(false) {}
714 714
715 MemoryDumpManager::MemoryDumpProviderInfo::~MemoryDumpProviderInfo() {} 715 MemoryDumpManager::MemoryDumpProviderInfo::~MemoryDumpProviderInfo() {}
716 716
717 bool MemoryDumpManager::MemoryDumpProviderInfo::Comparator::operator()( 717 bool MemoryDumpManager::MemoryDumpProviderInfo::Comparator::operator()(
718 const scoped_refptr<MemoryDumpManager::MemoryDumpProviderInfo>& a, 718 const scoped_refptr<MemoryDumpManager::MemoryDumpProviderInfo>& a,
719 const scoped_refptr<MemoryDumpManager::MemoryDumpProviderInfo>& b) const { 719 const scoped_refptr<MemoryDumpManager::MemoryDumpProviderInfo>& b) const {
720 if (!a || !b) 720 if (!a || !b)
721 return a.get() < b.get(); 721 return a.get() < b.get();
722 // Ensure that unbound providers (task_runner == nullptr) always run last. 722 // Ensure that unbound providers (task_runner == nullptr) always run last.
723 // Rationale: some unbound dump providers are known to be slow, keep them last 723 // Rationale: some unbound dump providers are known to be slow, keep them last
724 // to avoid skewing timings of the other dump providers. 724 // to avoid skewing timings of the other dump providers.
725 return std::tie(a->task_runner, a->dump_provider) > 725 return std::tie(a->task_runner, a->dump_provider) >
726 std::tie(b->task_runner, b->dump_provider); 726 std::tie(b->task_runner, b->dump_provider);
727 } 727 }
728 728
729 MemoryDumpManager::ProcessMemoryDumpAsyncState::ProcessMemoryDumpAsyncState( 729 MemoryDumpManager::ProcessMemoryDumpAsyncState::ProcessMemoryDumpAsyncState(
730 MemoryDumpRequestArgs req_args, 730 MemoryDumpRequestArgs req_args,
731 const MemoryDumpProviderInfo::OrderedSet& dump_providers, 731 const MemoryDumpProviderInfo::OrderedSet& dump_providers,
732 const scoped_refptr<MemoryDumpSessionState>& session_state, 732 scoped_refptr<MemoryDumpSessionState> session_state,
733 MemoryDumpCallback callback, 733 MemoryDumpCallback callback,
734 const scoped_refptr<SingleThreadTaskRunner>& dump_thread_task_runner) 734 scoped_refptr<SingleThreadTaskRunner> dump_thread_task_runner)
735 : req_args(req_args), 735 : req_args(req_args),
736 session_state(session_state), 736 session_state(std::move(session_state)),
737 callback(callback), 737 callback(callback),
738 dump_successful(true), 738 dump_successful(true),
739 callback_task_runner(MessageLoop::current()->task_runner()), 739 callback_task_runner(MessageLoop::current()->task_runner()),
740 dump_thread_task_runner(dump_thread_task_runner) { 740 dump_thread_task_runner(std::move(dump_thread_task_runner)) {
741 pending_dump_providers.reserve(dump_providers.size()); 741 pending_dump_providers.reserve(dump_providers.size());
742 pending_dump_providers.assign(dump_providers.rbegin(), dump_providers.rend()); 742 pending_dump_providers.assign(dump_providers.rbegin(), dump_providers.rend());
743 } 743 }
744 744
745 MemoryDumpManager::ProcessMemoryDumpAsyncState::~ProcessMemoryDumpAsyncState() { 745 MemoryDumpManager::ProcessMemoryDumpAsyncState::~ProcessMemoryDumpAsyncState() {
746 } 746 }
747 747
748 ProcessMemoryDump* MemoryDumpManager::ProcessMemoryDumpAsyncState:: 748 ProcessMemoryDump* MemoryDumpManager::ProcessMemoryDumpAsyncState::
749 GetOrCreateMemoryDumpContainerForProcess(ProcessId pid) { 749 GetOrCreateMemoryDumpContainerForProcess(ProcessId pid) {
750 auto iter = process_dumps.find(pid); 750 auto iter = process_dumps.find(pid);
751 if (iter == process_dumps.end()) { 751 if (iter == process_dumps.end()) {
752 scoped_ptr<ProcessMemoryDump> new_pmd(new ProcessMemoryDump(session_state)); 752 scoped_ptr<ProcessMemoryDump> new_pmd(new ProcessMemoryDump(session_state));
753 iter = process_dumps.insert(std::make_pair(pid, std::move(new_pmd))).first; 753 iter = process_dumps.insert(std::make_pair(pid, std::move(new_pmd))).first;
754 } 754 }
755 return iter->second.get(); 755 return iter->second.get();
756 } 756 }
757 757
758 } // namespace trace_event 758 } // namespace trace_event
759 } // namespace base 759 } // namespace base
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698