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

Unified Diff: base/trace_event/trace_buffer.cc

Issue 1852433005: Convert //base to use std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase after r384946 Created 4 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/trace_event/trace_buffer.h ('k') | base/trace_event/trace_config.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/trace_event/trace_buffer.cc
diff --git a/base/trace_event/trace_buffer.cc b/base/trace_event/trace_buffer.cc
index 9630a7a3f02ec8bffe169b323ee938bec39d1145..b9f80b27b6924daa5f62874a4104d3f49ed0c915 100644
--- a/base/trace_event/trace_buffer.cc
+++ b/base/trace_event/trace_buffer.cc
@@ -4,11 +4,11 @@
#include "base/trace_event/trace_buffer.h"
+#include <memory>
#include <utility>
#include <vector>
#include "base/macros.h"
-#include "base/memory/scoped_ptr.h"
#include "base/trace_event/trace_event_impl.h"
namespace base {
@@ -30,7 +30,7 @@ class TraceBufferRingBuffer : public TraceBuffer {
recyclable_chunks_queue_[i] = i;
}
- scoped_ptr<TraceBufferChunk> GetChunk(size_t* index) override {
+ std::unique_ptr<TraceBufferChunk> GetChunk(size_t* index) override {
// Because the number of threads is much less than the number of chunks,
// the queue should never be empty.
DCHECK(!QueueIsEmpty());
@@ -49,10 +49,11 @@ class TraceBufferRingBuffer : public TraceBuffer {
else
chunk = new TraceBufferChunk(current_chunk_seq_++);
- return scoped_ptr<TraceBufferChunk>(chunk);
+ return std::unique_ptr<TraceBufferChunk>(chunk);
}
- void ReturnChunk(size_t index, scoped_ptr<TraceBufferChunk> chunk) override {
+ void ReturnChunk(size_t index,
+ std::unique_ptr<TraceBufferChunk> chunk) override {
// When this method is called, the queue should not be full because it
// can contain all chunks including the one to be returned.
DCHECK(!QueueIsFull());
@@ -135,9 +136,9 @@ class TraceBufferRingBuffer : public TraceBuffer {
}
size_t max_chunks_;
- std::vector<scoped_ptr<TraceBufferChunk>> chunks_;
+ std::vector<std::unique_ptr<TraceBufferChunk>> chunks_;
- scoped_ptr<size_t[]> recyclable_chunks_queue_;
+ std::unique_ptr<size_t[]> recyclable_chunks_queue_;
size_t queue_head_;
size_t queue_tail_;
@@ -156,7 +157,7 @@ class TraceBufferVector : public TraceBuffer {
chunks_.reserve(max_chunks_);
}
- scoped_ptr<TraceBufferChunk> GetChunk(size_t* index) override {
+ std::unique_ptr<TraceBufferChunk> GetChunk(size_t* index) override {
// This function may be called when adding normal events or indirectly from
// AddMetadataEventsWhileLocked(). We can not DECHECK(!IsFull()) because we
// have to add the metadata events and flush thread-local buffers even if
@@ -165,11 +166,12 @@ class TraceBufferVector : public TraceBuffer {
chunks_.push_back(NULL); // Put NULL in the slot of a in-flight chunk.
++in_flight_chunk_count_;
// + 1 because zero chunk_seq is not allowed.
- return scoped_ptr<TraceBufferChunk>(
+ return std::unique_ptr<TraceBufferChunk>(
new TraceBufferChunk(static_cast<uint32_t>(*index) + 1));
}
- void ReturnChunk(size_t index, scoped_ptr<TraceBufferChunk> chunk) override {
+ void ReturnChunk(size_t index,
+ std::unique_ptr<TraceBufferChunk> chunk) override {
DCHECK_GT(in_flight_chunk_count_, 0u);
DCHECK_LT(index, chunks_.size());
DCHECK(!chunks_[index]);
« no previous file with comments | « base/trace_event/trace_buffer.h ('k') | base/trace_event/trace_config.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698