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

Unified Diff: runtime/vm/trace_buffer.cc

Issue 1711163002: Remove more things (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 10 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
Index: runtime/vm/trace_buffer.cc
diff --git a/runtime/vm/trace_buffer.cc b/runtime/vm/trace_buffer.cc
deleted file mode 100644
index 2022e49a84469ef6ab220c91b12971e899f32589..0000000000000000000000000000000000000000
--- a/runtime/vm/trace_buffer.cc
+++ /dev/null
@@ -1,136 +0,0 @@
-// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-#include "vm/isolate.h"
-#include "vm/json_stream.h"
-#include "vm/object.h"
-#include "vm/os.h"
-#include "vm/trace_buffer.h"
-
-namespace dart {
-
-TraceBuffer::TraceBuffer(Isolate* isolate, intptr_t capacity)
- : isolate_(isolate), ring_capacity_(capacity) {
- ring_cursor_ = 0;
- ring_ = reinterpret_cast<TraceBufferEntry*>(
- calloc(ring_capacity_, sizeof(TraceBufferEntry))); // NOLINT
-}
-
-
-TraceBuffer::~TraceBuffer() {
- ASSERT(ring_ != NULL);
- Clear();
- free(ring_);
- if (isolate_ != NULL) {
- isolate_->set_trace_buffer(NULL);
- isolate_ = NULL;
- }
-}
-
-
-void TraceBuffer::Init(Isolate* isolate, intptr_t capacity) {
- TraceBuffer* trace_buffer = new TraceBuffer(isolate, capacity);
- isolate->set_trace_buffer(trace_buffer);
-}
-
-
-void TraceBuffer::Clear() {
- for (intptr_t i = 0; i < ring_capacity_; i++) {
- TraceBufferEntry& entry = ring_[i];
- entry.micros = 0;
- free(entry.message);
- entry.message = NULL;
- entry.message_is_escaped = false;
- }
- ring_cursor_ = 0;
-}
-
-
-void TraceBuffer::Fill(TraceBufferEntry* entry, int64_t micros,
- char* msg, bool msg_is_escaped) {
- if (entry->message != NULL) {
- // Recycle TraceBufferEntry.
- free(entry->message);
- }
- entry->message = msg;
- entry->message_is_escaped = msg_is_escaped;
- entry->micros = micros;
-}
-
-
-void TraceBuffer::AppendTrace(int64_t micros, char* msg, bool msg_is_escaped) {
- const intptr_t index = ring_cursor_;
- TraceBufferEntry* trace_entry = &ring_[index];
- Fill(trace_entry, micros, msg, msg_is_escaped);
- ring_cursor_ = RingIndex(ring_cursor_ + 1);
-}
-
-
-void TraceBuffer::Trace(int64_t micros, const char* msg, bool msg_is_escaped) {
- ASSERT(msg != NULL);
- char* message_copy = strdup(msg);
- AppendTrace(micros, message_copy, msg_is_escaped);
-}
-
-
-void TraceBuffer::Trace(const char* msg, bool msg_is_escaped) {
- Trace(OS::GetCurrentTimeMicros(), msg, msg_is_escaped);
-}
-
-
-void TraceBuffer::TraceF(const char* format, ...) {
- const int64_t micros = OS::GetCurrentTimeMicros();
- va_list args;
- va_start(args, format);
- const intptr_t len = OS::VSNPrint(NULL, 0, format, args);
- va_end(args);
- char* p = reinterpret_cast<char*>(malloc(len+1));
- va_start(args, format);
- const intptr_t len2 = OS::VSNPrint(p, len+1, format, args);
- va_end(args);
- ASSERT(len == len2);
- AppendTrace(micros, p);
-}
-
-
-void TraceBuffer::PrintToJSONStream(JSONStream* stream) const {
- JSONObject json_trace_buffer(stream);
- json_trace_buffer.AddProperty("type", "TraceBuffer");
- // TODO(johnmccutchan): Send cursor position in response.
- JSONArray json_trace_buffer_array(&json_trace_buffer, "members");
- // Scan forward until we find the first entry which isn't empty.
- // TODO(johnmccutchan): Accept cursor start position as input.
- intptr_t start = -1;
- for (intptr_t i = 0; i < ring_capacity_; i++) {
- intptr_t index = RingIndex(i + ring_cursor_);
- if (!ring_[index].empty()) {
- start = index;
- break;
- }
- }
- // No messages in trace buffer.
- if (start == -1) {
- return;
- }
- for (intptr_t i = 0; i < ring_capacity_; i++) {
- intptr_t index = RingIndex(start + i);
- const TraceBufferEntry& entry = ring_[index];
- if (entry.empty()) {
- // Empty entry, stop.
- break;
- }
- JSONObject trace_entry(&json_trace_buffer_array);
- trace_entry.AddProperty("type", "TraceBufferEntry");
- double seconds = static_cast<double>(entry.micros) /
- static_cast<double>(kMicrosecondsPerSecond);
- trace_entry.AddProperty("time", seconds);
- if (entry.message_is_escaped) {
- trace_entry.AddPropertyNoEscape("message", entry.message);
- } else {
- trace_entry.AddProperty("message", entry.message);
- }
- }
-}
-
-} // namespace dart

Powered by Google App Engine
This is Rietveld 408576698