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

Unified Diff: include/libplatform/v8-tracing.h

Issue 2190973003: [Tracing] V8 Tracing Controller - Add args and copy support (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: More fixes Created 4 years, 5 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 | « no previous file | src/d8.cc » ('j') | src/libplatform/tracing/trace-object.cc » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: include/libplatform/v8-tracing.h
diff --git a/include/libplatform/v8-tracing.h b/include/libplatform/v8-tracing.h
index dd0be2e6f153781d404e77292e78165c6299e003..daa066fd37c271fe576d10eca9383fd402d195d2 100644
--- a/include/libplatform/v8-tracing.h
+++ b/include/libplatform/v8-tracing.h
@@ -9,13 +9,27 @@
#include <memory>
#include <vector>
+#include "include/v8.h"
lpy 2016/07/28 21:18:20 Please do not include v8.h here.
rskang 2016/07/28 22:44:27 Done.
+
namespace v8 {
namespace platform {
namespace tracing {
+const int kTraceMaxNumArgs = 2;
+
class TraceObject {
public:
+ union TraceValue {
+ bool as_bool;
+ uint64_t as_uint;
+ int64_t as_int;
+ double as_double;
+ const void* as_pointer;
+ const char* as_string;
+ };
+
TraceObject() {}
+ ~TraceObject();
void Initialize(char phase, const uint8_t* category_enabled_flag,
const char* name, const char* scope, uint64_t id,
uint64_t bind_id, int num_args, const char** arg_names,
@@ -40,6 +54,9 @@ class TraceObject {
const char* scope() const { return scope_; }
uint64_t id() const { return id_; }
uint64_t bind_id() const { return bind_id_; }
+ TraceValue* arg_values() { return arg_values_; }
+ const char** arg_names() { return arg_names_; }
+ uint8_t* arg_types() { return arg_types_; }
unsigned int flags() const { return flags_; }
int64_t ts() { return ts_; }
int64_t tts() { return tts_; }
@@ -55,13 +72,15 @@ class TraceObject {
const uint8_t* category_enabled_flag_;
uint64_t id_;
uint64_t bind_id_;
- int num_args_;
+ TraceValue arg_values_[kTraceMaxNumArgs];
+ const char* arg_names_[kTraceMaxNumArgs];
+ uint8_t arg_types_[kTraceMaxNumArgs];
+ char* parameter_copy_storage_ = nullptr;
unsigned int flags_;
int64_t ts_;
int64_t tts_;
uint64_t duration_;
uint64_t cpu_duration_;
- // TODO(fmeawad): Add args support.
// Disallow copy and assign
TraceObject(const TraceObject&) = delete;
@@ -75,7 +94,8 @@ class TraceWriter {
virtual void AppendTraceEvent(TraceObject* trace_event) = 0;
virtual void Flush() = 0;
- static TraceWriter* CreateJSONTraceWriter(std::ostream& stream);
+ static TraceWriter* CreateJSONTraceWriter(Isolate* isolate,
+ std::ostream& stream);
private:
// Disallow copy and assign
« no previous file with comments | « no previous file | src/d8.cc » ('j') | src/libplatform/tracing/trace-object.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698