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

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

Issue 1479473002: base: Use std::move() instead of Pass() for real movable types. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: basepass: missing-include Created 5 years 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
« no previous file with comments | « base/trace_event/memory_dump_manager.cc ('k') | base/trace_event/trace_config.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/trace_buffer.h" 5 #include "base/trace_event/trace_buffer.h"
6 6
7 #include <utility>
8
7 #include "base/memory/scoped_vector.h" 9 #include "base/memory/scoped_vector.h"
8 #include "base/trace_event/trace_event_impl.h" 10 #include "base/trace_event/trace_event_impl.h"
9 11
10 namespace base { 12 namespace base {
11 namespace trace_event { 13 namespace trace_event {
12 14
13 namespace { 15 namespace {
14 16
15 class TraceBufferRingBuffer : public TraceBuffer { 17 class TraceBufferRingBuffer : public TraceBuffer {
16 public: 18 public:
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 scoped_ptr<TraceBuffer> CloneForIteration() const override { 100 scoped_ptr<TraceBuffer> CloneForIteration() const override {
99 scoped_ptr<ClonedTraceBuffer> cloned_buffer(new ClonedTraceBuffer()); 101 scoped_ptr<ClonedTraceBuffer> cloned_buffer(new ClonedTraceBuffer());
100 for (size_t queue_index = queue_head_; queue_index != queue_tail_; 102 for (size_t queue_index = queue_head_; queue_index != queue_tail_;
101 queue_index = NextQueueIndex(queue_index)) { 103 queue_index = NextQueueIndex(queue_index)) {
102 size_t chunk_index = recyclable_chunks_queue_[queue_index]; 104 size_t chunk_index = recyclable_chunks_queue_[queue_index];
103 if (chunk_index >= chunks_.size()) // Skip uninitialized chunks. 105 if (chunk_index >= chunks_.size()) // Skip uninitialized chunks.
104 continue; 106 continue;
105 TraceBufferChunk* chunk = chunks_[chunk_index]; 107 TraceBufferChunk* chunk = chunks_[chunk_index];
106 cloned_buffer->chunks_.push_back(chunk ? chunk->Clone().release() : NULL); 108 cloned_buffer->chunks_.push_back(chunk ? chunk->Clone().release() : NULL);
107 } 109 }
108 return cloned_buffer.Pass(); 110 return std::move(cloned_buffer);
109 } 111 }
110 112
111 void EstimateTraceMemoryOverhead( 113 void EstimateTraceMemoryOverhead(
112 TraceEventMemoryOverhead* overhead) override { 114 TraceEventMemoryOverhead* overhead) override {
113 overhead->Add("TraceBufferRingBuffer", sizeof(*this)); 115 overhead->Add("TraceBufferRingBuffer", sizeof(*this));
114 for (size_t queue_index = queue_head_; queue_index != queue_tail_; 116 for (size_t queue_index = queue_head_; queue_index != queue_tail_;
115 queue_index = NextQueueIndex(queue_index)) { 117 queue_index = NextQueueIndex(queue_index)) {
116 size_t chunk_index = recyclable_chunks_queue_[queue_index]; 118 size_t chunk_index = recyclable_chunks_queue_[queue_index];
117 if (chunk_index >= chunks_.size()) // Skip uninitialized chunks. 119 if (chunk_index >= chunks_.size()) // Skip uninitialized chunks.
118 continue; 120 continue;
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 DCHECK(!IsFull()); 304 DCHECK(!IsFull());
303 *event_index = next_free_++; 305 *event_index = next_free_++;
304 return &chunk_[*event_index]; 306 return &chunk_[*event_index];
305 } 307 }
306 308
307 scoped_ptr<TraceBufferChunk> TraceBufferChunk::Clone() const { 309 scoped_ptr<TraceBufferChunk> TraceBufferChunk::Clone() const {
308 scoped_ptr<TraceBufferChunk> cloned_chunk(new TraceBufferChunk(seq_)); 310 scoped_ptr<TraceBufferChunk> cloned_chunk(new TraceBufferChunk(seq_));
309 cloned_chunk->next_free_ = next_free_; 311 cloned_chunk->next_free_ = next_free_;
310 for (size_t i = 0; i < next_free_; ++i) 312 for (size_t i = 0; i < next_free_; ++i)
311 cloned_chunk->chunk_[i].CopyFrom(chunk_[i]); 313 cloned_chunk->chunk_[i].CopyFrom(chunk_[i]);
312 return cloned_chunk.Pass(); 314 return cloned_chunk;
313 } 315 }
314 316
315 void TraceBufferChunk::EstimateTraceMemoryOverhead( 317 void TraceBufferChunk::EstimateTraceMemoryOverhead(
316 TraceEventMemoryOverhead* overhead) { 318 TraceEventMemoryOverhead* overhead) {
317 if (!cached_overhead_estimate_) { 319 if (!cached_overhead_estimate_) {
318 cached_overhead_estimate_.reset(new TraceEventMemoryOverhead); 320 cached_overhead_estimate_.reset(new TraceEventMemoryOverhead);
319 321
320 // When estimating the size of TraceBufferChunk, exclude the array of trace 322 // When estimating the size of TraceBufferChunk, exclude the array of trace
321 // events, as they are computed individually below. 323 // events, as they are computed individually below.
322 cached_overhead_estimate_->Add("TraceBufferChunk", 324 cached_overhead_estimate_->Add("TraceBufferChunk",
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 TraceBuffer* TraceBuffer::CreateTraceBufferRingBuffer(size_t max_chunks) { 389 TraceBuffer* TraceBuffer::CreateTraceBufferRingBuffer(size_t max_chunks) {
388 return new TraceBufferRingBuffer(max_chunks); 390 return new TraceBufferRingBuffer(max_chunks);
389 } 391 }
390 392
391 TraceBuffer* TraceBuffer::CreateTraceBufferVectorOfSize(size_t max_chunks) { 393 TraceBuffer* TraceBuffer::CreateTraceBufferVectorOfSize(size_t max_chunks) {
392 return new TraceBufferVector(max_chunks); 394 return new TraceBufferVector(max_chunks);
393 } 395 }
394 396
395 } // namespace trace_event 397 } // namespace trace_event
396 } // namespace base 398 } // namespace base
OLDNEW
« no previous file with comments | « base/trace_event/memory_dump_manager.cc ('k') | base/trace_event/trace_config.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698