Index: base/trace_event/trace_event.h |
diff --git a/base/trace_event/trace_event.h b/base/trace_event/trace_event.h |
index 397bafc3550faf11c3bae4a1b5b4576bb81c9efb..77ec1de224b3a676b77a284efdcb940f67ca0871 100644 |
--- a/base/trace_event/trace_event.h |
+++ b/base/trace_event/trace_event.h |
@@ -852,6 +852,10 @@ |
#define TRACE_EVENT_FLOW_END0(category_group, name, id) \ |
INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_FLOW_END, \ |
category_group, name, id, TRACE_EVENT_FLAG_NONE) |
+#define TRACE_EVENT_FLOW_END_BIND_TO_ENCLOSING0(category_group, name, id) \ |
+ INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_FLOW_END, category_group, \ |
+ name, id, \ |
+ TRACE_EVENT_FLAG_BIND_TO_ENCLOSING) |
#define TRACE_EVENT_FLOW_END1(category_group, name, id, arg1_name, arg1_val) \ |
INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_FLOW_END, \ |
category_group, name, id, TRACE_EVENT_FLAG_NONE, arg1_name, arg1_val) |
@@ -885,6 +889,14 @@ |
category_group, name, TRACE_ID_DONT_MANGLE(id), TRACE_EVENT_FLAG_NONE,\ |
"snapshot", snapshot) |
+#define TRACE_EVENT_OBJECT_SNAPSHOT_WITH_ID_AND_TIMESTAMP( \ |
+ category_group, name, id, timestamp, snapshot) \ |
+ INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \ |
+ TRACE_EVENT_PHASE_SNAPSHOT_OBJECT, category_group, name, \ |
+ TRACE_ID_DONT_MANGLE(id), \ |
+ static_cast<int>(base::PlatformThread::CurrentId()), timestamp, \ |
+ TRACE_EVENT_FLAG_NONE, "snapshot", snapshot) |
+ |
#define TRACE_EVENT_OBJECT_DELETED_WITH_ID(category_group, name, id) \ |
INTERNAL_TRACE_EVENT_ADD_WITH_ID(TRACE_EVENT_PHASE_DELETE_OBJECT, \ |
category_group, name, TRACE_ID_DONT_MANGLE(id), TRACE_EVENT_FLAG_NONE) |
@@ -954,7 +966,7 @@ |
// const char** arg_names, |
// const unsigned char* arg_types, |
// const unsigned long long* arg_values, |
-// unsigned char flags) |
+// unsigned int flags) |
#define TRACE_EVENT_API_ADD_TRACE_EVENT \ |
base::trace_event::TraceLog::GetInstance()->AddTraceEvent |
@@ -971,7 +983,7 @@ |
// const char** arg_names, |
// const unsigned char* arg_types, |
// const unsigned long long* arg_values, |
-// unsigned char flags) |
+// unsigned int flags) |
#define TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP \ |
base::trace_event::TraceLog::GetInstance() \ |
->AddTraceEventWithThreadIdAndTimestamp |
@@ -1067,39 +1079,38 @@ TRACE_EVENT_API_CLASS_EXPORT extern \ |
// Implementation detail: internal macro to create static category and add |
// event if the category is enabled. |
-#define INTERNAL_TRACE_EVENT_ADD_WITH_ID(phase, category_group, name, id, \ |
- flags, ...) \ |
- do { \ |
- INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category_group); \ |
- if (INTERNAL_TRACE_EVENT_CATEGORY_GROUP_ENABLED_FOR_RECORDING_MODE()) { \ |
- unsigned char trace_event_flags = flags | TRACE_EVENT_FLAG_HAS_ID; \ |
- trace_event_internal::TraceID trace_event_trace_id( \ |
- id, &trace_event_flags); \ |
- trace_event_internal::AddTraceEvent( \ |
- phase, INTERNAL_TRACE_EVENT_UID(category_group_enabled), \ |
- name, trace_event_trace_id.data(), trace_event_flags, \ |
- ##__VA_ARGS__); \ |
- } \ |
- } while (0) |
+#define INTERNAL_TRACE_EVENT_ADD_WITH_ID(phase, category_group, name, id, \ |
+ flags, ...) \ |
+ do { \ |
+ INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category_group); \ |
+ if (INTERNAL_TRACE_EVENT_CATEGORY_GROUP_ENABLED_FOR_RECORDING_MODE()) { \ |
+ unsigned int trace_event_flags = flags | TRACE_EVENT_FLAG_HAS_ID; \ |
+ trace_event_internal::TraceID trace_event_trace_id(id, \ |
+ &trace_event_flags); \ |
+ trace_event_internal::AddTraceEvent( \ |
+ phase, INTERNAL_TRACE_EVENT_UID(category_group_enabled), name, \ |
+ trace_event_trace_id.data(), trace_event_flags, ##__VA_ARGS__); \ |
+ } \ |
+ } while (0) |
// Implementation detail: internal macro to create static category and add |
// event if the category is enabled. |
-#define INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP(phase, \ |
- category_group, name, id, thread_id, timestamp, flags, ...) \ |
- do { \ |
- INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category_group); \ |
- if (INTERNAL_TRACE_EVENT_CATEGORY_GROUP_ENABLED_FOR_RECORDING_MODE()) { \ |
- unsigned char trace_event_flags = flags | TRACE_EVENT_FLAG_HAS_ID; \ |
- trace_event_internal::TraceID trace_event_trace_id( \ |
- id, &trace_event_flags); \ |
- trace_event_internal::AddTraceEventWithThreadIdAndTimestamp( \ |
- phase, INTERNAL_TRACE_EVENT_UID(category_group_enabled), \ |
- name, trace_event_trace_id.data(), \ |
- thread_id, base::TraceTicks::FromInternalValue(timestamp), \ |
- trace_event_flags | TRACE_EVENT_FLAG_EXPLICIT_TIMESTAMP, \ |
- ##__VA_ARGS__); \ |
- } \ |
- } while (0) |
+#define INTERNAL_TRACE_EVENT_ADD_WITH_ID_TID_AND_TIMESTAMP( \ |
+ phase, category_group, name, id, thread_id, timestamp, flags, ...) \ |
+ do { \ |
+ INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category_group); \ |
+ if (INTERNAL_TRACE_EVENT_CATEGORY_GROUP_ENABLED_FOR_RECORDING_MODE()) { \ |
+ unsigned int trace_event_flags = flags | TRACE_EVENT_FLAG_HAS_ID; \ |
+ trace_event_internal::TraceID trace_event_trace_id(id, \ |
+ &trace_event_flags); \ |
+ trace_event_internal::AddTraceEventWithThreadIdAndTimestamp( \ |
+ phase, INTERNAL_TRACE_EVENT_UID(category_group_enabled), name, \ |
+ trace_event_trace_id.data(), thread_id, \ |
+ base::TraceTicks::FromInternalValue(timestamp), \ |
+ trace_event_flags | TRACE_EVENT_FLAG_EXPLICIT_TIMESTAMP, \ |
+ ##__VA_ARGS__); \ |
+ } \ |
+ } while (0) |
// Notes regarding the following definitions: |
// New values can be added and propagated to third party libraries, but existing |
@@ -1130,17 +1141,19 @@ TRACE_EVENT_API_CLASS_EXPORT extern \ |
#define TRACE_EVENT_PHASE_MEMORY_DUMP ('v') |
// Flags for changing the behavior of TRACE_EVENT_API_ADD_TRACE_EVENT. |
-#define TRACE_EVENT_FLAG_NONE (static_cast<unsigned char>(0)) |
-#define TRACE_EVENT_FLAG_COPY (static_cast<unsigned char>(1 << 0)) |
-#define TRACE_EVENT_FLAG_HAS_ID (static_cast<unsigned char>(1 << 1)) |
-#define TRACE_EVENT_FLAG_MANGLE_ID (static_cast<unsigned char>(1 << 2)) |
-#define TRACE_EVENT_FLAG_SCOPE_OFFSET (static_cast<unsigned char>(1 << 3)) |
-#define TRACE_EVENT_FLAG_SCOPE_EXTRA (static_cast<unsigned char>(1 << 4)) |
-#define TRACE_EVENT_FLAG_EXPLICIT_TIMESTAMP (static_cast<unsigned char>(1 << 5)) |
-#define TRACE_EVENT_FLAG_ASYNC_TTS (static_cast<unsigned char>(1 << 6)) |
- |
-#define TRACE_EVENT_FLAG_SCOPE_MASK (static_cast<unsigned char>( \ |
- TRACE_EVENT_FLAG_SCOPE_OFFSET | TRACE_EVENT_FLAG_SCOPE_EXTRA)) |
+#define TRACE_EVENT_FLAG_NONE (static_cast<unsigned int>(0)) |
+#define TRACE_EVENT_FLAG_COPY (static_cast<unsigned int>(1 << 0)) |
+#define TRACE_EVENT_FLAG_HAS_ID (static_cast<unsigned int>(1 << 1)) |
+#define TRACE_EVENT_FLAG_MANGLE_ID (static_cast<unsigned int>(1 << 2)) |
+#define TRACE_EVENT_FLAG_SCOPE_OFFSET (static_cast<unsigned int>(1 << 3)) |
+#define TRACE_EVENT_FLAG_SCOPE_EXTRA (static_cast<unsigned int>(1 << 4)) |
+#define TRACE_EVENT_FLAG_EXPLICIT_TIMESTAMP (static_cast<unsigned int>(1 << 5)) |
+#define TRACE_EVENT_FLAG_ASYNC_TTS (static_cast<unsigned int>(1 << 6)) |
+#define TRACE_EVENT_FLAG_BIND_TO_ENCLOSING (static_cast<unsigned int>(1 << 7)) |
+ |
+#define TRACE_EVENT_FLAG_SCOPE_MASK \ |
+ (static_cast<unsigned int>(TRACE_EVENT_FLAG_SCOPE_OFFSET | \ |
+ TRACE_EVENT_FLAG_SCOPE_EXTRA)) |
// Type values for identifying types in the TraceValue union. |
#define TRACE_VALUE_TYPE_BOOL (static_cast<unsigned char>(1)) |
@@ -1220,36 +1233,42 @@ class TraceID { |
private: |
unsigned long long data_; |
}; |
- TraceID(const void* id, unsigned char* flags) |
- : data_(static_cast<unsigned long long>( |
- reinterpret_cast<uintptr_t>(id))) { |
+ TraceID(const void* id, unsigned int* flags) |
+ : data_( |
+ static_cast<unsigned long long>(reinterpret_cast<uintptr_t>(id))) { |
*flags |= TRACE_EVENT_FLAG_MANGLE_ID; |
} |
- TraceID(ForceMangle id, unsigned char* flags) : data_(id.data()) { |
+ TraceID(ForceMangle id, unsigned int* flags) : data_(id.data()) { |
*flags |= TRACE_EVENT_FLAG_MANGLE_ID; |
} |
- TraceID(DontMangle id, unsigned char* flags) : data_(id.data()) { |
+ TraceID(DontMangle id, unsigned int* flags) : data_(id.data()) {} |
+ TraceID(unsigned long long id, unsigned int* flags) : data_(id) { |
+ (void)flags; |
+ } |
+ TraceID(unsigned long id, unsigned int* flags) : data_(id) { (void)flags; } |
+ TraceID(unsigned int id, unsigned int* flags) : data_(id) { (void)flags; } |
+ TraceID(unsigned short id, unsigned int* flags) : data_(id) { (void)flags; } |
+ TraceID(unsigned char id, unsigned int* flags) : data_(id) { (void)flags; } |
+ TraceID(long long id, unsigned int* flags) |
+ : data_(static_cast<unsigned long long>(id)) { |
+ (void)flags; |
+ } |
+ TraceID(long id, unsigned int* flags) |
+ : data_(static_cast<unsigned long long>(id)) { |
+ (void)flags; |
+ } |
+ TraceID(int id, unsigned int* flags) |
+ : data_(static_cast<unsigned long long>(id)) { |
+ (void)flags; |
+ } |
+ TraceID(short id, unsigned int* flags) |
+ : data_(static_cast<unsigned long long>(id)) { |
+ (void)flags; |
+ } |
+ TraceID(signed char id, unsigned int* flags) |
+ : data_(static_cast<unsigned long long>(id)) { |
+ (void)flags; |
} |
- TraceID(unsigned long long id, unsigned char* flags) |
- : data_(id) { (void)flags; } |
- TraceID(unsigned long id, unsigned char* flags) |
- : data_(id) { (void)flags; } |
- TraceID(unsigned int id, unsigned char* flags) |
- : data_(id) { (void)flags; } |
- TraceID(unsigned short id, unsigned char* flags) |
- : data_(id) { (void)flags; } |
- TraceID(unsigned char id, unsigned char* flags) |
- : data_(id) { (void)flags; } |
- TraceID(long long id, unsigned char* flags) |
- : data_(static_cast<unsigned long long>(id)) { (void)flags; } |
- TraceID(long id, unsigned char* flags) |
- : data_(static_cast<unsigned long long>(id)) { (void)flags; } |
- TraceID(int id, unsigned char* flags) |
- : data_(static_cast<unsigned long long>(id)) { (void)flags; } |
- TraceID(short id, unsigned char* flags) |
- : data_(static_cast<unsigned long long>(id)) { (void)flags; } |
- TraceID(signed char id, unsigned char* flags) |
- : data_(static_cast<unsigned long long>(id)) { (void)flags; } |
unsigned long long data() const { return data_; } |
@@ -1380,7 +1399,7 @@ AddTraceEventWithThreadIdAndTimestamp( |
unsigned long long id, |
int thread_id, |
const base::TraceTicks& timestamp, |
- unsigned char flags, |
+ unsigned int flags, |
const char* arg1_name, |
const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& |
arg1_val) { |
@@ -1391,7 +1410,7 @@ AddTraceEventWithThreadIdAndTimestamp( |
num_args, &arg1_name, arg_types, NULL, &arg1_val, flags); |
} |
-template<class ARG1_TYPE> |
+template <class ARG1_TYPE> |
static inline base::trace_event::TraceEventHandle |
AddTraceEventWithThreadIdAndTimestamp( |
char phase, |
@@ -1400,7 +1419,7 @@ AddTraceEventWithThreadIdAndTimestamp( |
unsigned long long id, |
int thread_id, |
const base::TraceTicks& timestamp, |
- unsigned char flags, |
+ unsigned int flags, |
const char* arg1_name, |
const ARG1_TYPE& arg1_val, |
const char* arg2_name, |
@@ -1423,7 +1442,7 @@ AddTraceEventWithThreadIdAndTimestamp( |
num_args, arg_names, arg_types, arg_values, convertable_values, flags); |
} |
-template<class ARG2_TYPE> |
+template <class ARG2_TYPE> |
static inline base::trace_event::TraceEventHandle |
AddTraceEventWithThreadIdAndTimestamp( |
char phase, |
@@ -1432,7 +1451,7 @@ AddTraceEventWithThreadIdAndTimestamp( |
unsigned long long id, |
int thread_id, |
const base::TraceTicks& timestamp, |
- unsigned char flags, |
+ unsigned int flags, |
const char* arg1_name, |
const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& arg1_val, |
const char* arg2_name, |
@@ -1463,7 +1482,7 @@ AddTraceEventWithThreadIdAndTimestamp( |
unsigned long long id, |
int thread_id, |
const base::TraceTicks& timestamp, |
- unsigned char flags, |
+ unsigned int flags, |
const char* arg1_name, |
const scoped_refptr<base::trace_event::ConvertableToTraceFormat>& arg1_val, |
const char* arg2_name, |
@@ -1489,7 +1508,7 @@ AddTraceEventWithThreadIdAndTimestamp( |
unsigned long long id, |
int thread_id, |
const base::TraceTicks& timestamp, |
- unsigned char flags) { |
+ unsigned int flags) { |
return TRACE_EVENT_API_ADD_TRACE_EVENT_WITH_THREAD_ID_AND_TIMESTAMP( |
phase, category_group_enabled, name, id, thread_id, timestamp, |
kZeroNumArgs, NULL, NULL, NULL, NULL, flags); |
@@ -1500,14 +1519,14 @@ static inline base::trace_event::TraceEventHandle AddTraceEvent( |
const unsigned char* category_group_enabled, |
const char* name, |
unsigned long long id, |
- unsigned char flags) { |
+ unsigned int flags) { |
const int thread_id = static_cast<int>(base::PlatformThread::CurrentId()); |
const base::TraceTicks now = base::TraceTicks::Now(); |
return AddTraceEventWithThreadIdAndTimestamp(phase, category_group_enabled, |
name, id, thread_id, now, flags); |
} |
-template<class ARG1_TYPE> |
+template <class ARG1_TYPE> |
static inline base::trace_event::TraceEventHandle |
AddTraceEventWithThreadIdAndTimestamp( |
char phase, |
@@ -1516,7 +1535,7 @@ AddTraceEventWithThreadIdAndTimestamp( |
unsigned long long id, |
int thread_id, |
const base::TraceTicks& timestamp, |
- unsigned char flags, |
+ unsigned int flags, |
const char* arg1_name, |
const ARG1_TYPE& arg1_val) { |
const int num_args = 1; |
@@ -1528,13 +1547,13 @@ AddTraceEventWithThreadIdAndTimestamp( |
num_args, &arg1_name, arg_types, arg_values, NULL, flags); |
} |
-template<class ARG1_TYPE> |
+template <class ARG1_TYPE> |
static inline base::trace_event::TraceEventHandle AddTraceEvent( |
char phase, |
const unsigned char* category_group_enabled, |
const char* name, |
unsigned long long id, |
- unsigned char flags, |
+ unsigned int flags, |
const char* arg1_name, |
const ARG1_TYPE& arg1_val) { |
int thread_id = static_cast<int>(base::PlatformThread::CurrentId()); |
@@ -1544,7 +1563,7 @@ static inline base::trace_event::TraceEventHandle AddTraceEvent( |
arg1_name, arg1_val); |
} |
-template<class ARG1_TYPE, class ARG2_TYPE> |
+template <class ARG1_TYPE, class ARG2_TYPE> |
static inline base::trace_event::TraceEventHandle |
AddTraceEventWithThreadIdAndTimestamp( |
char phase, |
@@ -1553,7 +1572,7 @@ AddTraceEventWithThreadIdAndTimestamp( |
unsigned long long id, |
int thread_id, |
const base::TraceTicks& timestamp, |
- unsigned char flags, |
+ unsigned int flags, |
const char* arg1_name, |
const ARG1_TYPE& arg1_val, |
const char* arg2_name, |
@@ -1569,13 +1588,13 @@ AddTraceEventWithThreadIdAndTimestamp( |
num_args, arg_names, arg_types, arg_values, NULL, flags); |
} |
-template<class ARG1_TYPE, class ARG2_TYPE> |
+template <class ARG1_TYPE, class ARG2_TYPE> |
static inline base::trace_event::TraceEventHandle AddTraceEvent( |
char phase, |
const unsigned char* category_group_enabled, |
const char* name, |
unsigned long long id, |
- unsigned char flags, |
+ unsigned int flags, |
const char* arg1_name, |
const ARG1_TYPE& arg1_val, |
const char* arg2_name, |