#include "src/tracing/traced-value.h"
#include "src/base/platform/platform.h"
#include "src/base/vector.h"
#include "src/numbers/conversions.h"
#ifdef V8_USE_PERFETTO
#include "protos/perfetto/trace/track_event/debug_annotation.pbzero.h"
#endif
namespace v8 {
namespace tracing {
namespace {
#define DCHECK_CURRENT_CONTAINER_IS(x) …
#define DCHECK_CONTAINER_STACK_DEPTH_EQ(x) …
#ifdef DEBUG
const bool kStackTypeDict = …;
const bool kStackTypeArray = …;
#define DEBUG_PUSH_CONTAINER(x) …
#define DEBUG_POP_CONTAINER() …
#else
#define DEBUG_PUSH_CONTAINER …
#define DEBUG_POP_CONTAINER …
#endif
void EscapeAndAppendString(const char* value, std::string* result) { … }
}
std::unique_ptr<TracedValue> TracedValue::Create() { … }
TracedValue::TracedValue() : … { … }
TracedValue::~TracedValue() { … }
void TracedValue::SetInteger(const char* name, int value) { … }
void TracedValue::SetDouble(const char* name, double value) { … }
void TracedValue::SetBoolean(const char* name, bool value) { … }
void TracedValue::SetString(const char* name, const char* value) { … }
void TracedValue::SetValue(const char* name, TracedValue* value) { … }
void TracedValue::BeginDictionary(const char* name) { … }
void TracedValue::BeginArray(const char* name) { … }
void TracedValue::AppendInteger(int value) { … }
void TracedValue::AppendDouble(double value) { … }
void TracedValue::AppendBoolean(bool value) { … }
void TracedValue::AppendString(const char* value) { … }
void TracedValue::BeginDictionary() { … }
void TracedValue::BeginArray() { … }
void TracedValue::EndDictionary() { … }
void TracedValue::EndArray() { … }
void TracedValue::WriteComma() { … }
void TracedValue::WriteName(const char* name) { … }
void TracedValue::AppendAsTraceFormat(std::string* out) const { … }
#ifdef V8_USE_PERFETTO
void TracedValue::Add(
perfetto::protos::pbzero::DebugAnnotation* annotation) const { … }
#endif
}
}