5 #ifndef V8_LIBPLATFORM_V8_TRACING_H_ 
    6 #define V8_LIBPLATFORM_V8_TRACING_H_ 
   10 #include <unordered_set> 
   13 #include "libplatform/libplatform-export.h" 
   41       char phase, 
const uint8_t* category_enabled_flag, 
const char* name,
 
   42       const char* scope, uint64_t id, uint64_t bind_id, 
int num_args,
 
   43       const char** arg_names, 
const uint8_t* arg_types,
 
   44       const uint64_t* arg_values,
 
   46       unsigned int flags, int64_t timestamp, int64_t cpu_timestamp);
 
   49       char phase, 
const uint8_t* category_enabled_flag, 
const char* name,
 
   50       const char* scope, uint64_t id, uint64_t bind_id, 
int num_args,
 
   51       const char** arg_names, 
const uint8_t* arg_types,
 
   52       const uint64_t* arg_values,
 
   54       unsigned int flags, 
int pid, 
int tid, int64_t ts, int64_t tts,
 
   55       uint64_t duration, uint64_t cpu_duration);
 
   57   int pid() 
const { 
return pid_; }
 
   58   int tid() 
const { 
return tid_; }
 
   59   char phase() 
const { 
return phase_; }
 
   61     return category_enabled_flag_;
 
   63   const char* 
name() 
const { 
return name_; }
 
   64   const char* 
scope() 
const { 
return scope_; }
 
   65   uint64_t 
id() 
const { 
return id_; }
 
   66   uint64_t 
bind_id() 
const { 
return bind_id_; }
 
   72     return arg_convertables_;
 
   74   unsigned int flags() 
const { 
return flags_; }
 
   75   int64_t 
ts() { 
return ts_; }
 
   76   int64_t 
tts() { 
return tts_; }
 
   86   const uint8_t* category_enabled_flag_;
 
   95   char* parameter_copy_storage_ = 
nullptr;
 
  100   uint64_t cpu_duration_;
 
  116                                             const std::string& tag);
 
  133   uint32_t 
seq() 
const { 
return seq_; }
 
  134   size_t 
size() 
const { 
return next_free_; }
 
  139   size_t next_free_ = 0;
 
  190   TraceConfig() : enable_systrace_(
false), enable_argument_filter_(
false) {}
 
  205   bool enable_systrace_ : 1;
 
  206   bool enable_argument_filter_ : 1;
 
  214 #if defined(_MSC_VER) 
  215 #define V8_PLATFORM_NON_EXPORTED_BASE(code) 
  216   __pragma(warning(suppress : 4275
)) code 
  218 #define V8_PLATFORM_NON_EXPORTED_BASE(code) code 
  246       char phase, 
const uint8_t* category_enabled_flag, 
const char* name,
 
  247       const char* scope, uint64_t id, uint64_t bind_id, int32_t num_args,
 
  248       const char** arg_names, 
const uint8_t* arg_types,
 
  249       const uint64_t* arg_values,
 
  251       unsigned int flags) 
override;
 
  253       char phase, 
const uint8_t* category_enabled_flag, 
const char* name,
 
  254       const char* scope, uint64_t id, uint64_t bind_id, int32_t num_args,
 
  255       const char** arg_names, 
const uint8_t* arg_types,
 
  256       const uint64_t* arg_values,
 
  258       unsigned int flags, int64_t timestamp) 
override;
 
  260                                 const char* name, uint64_t handle) 
override;
 
  276   const uint8_t* GetCategoryGroupEnabledInternal(
const char* category_group);
 
  277   void UpdateCategoryGroupEnabledFlag(size_t category_index);
 
  278   void UpdateCategoryGroupEnabledFlags();
 
  282   std::unique_ptr<
base::Mutex> mutex_;
 
  291 #undef V8_PLATFORM_NON_EXPORTED_BASE