| Index: third_party/WebKit/Source/platform/TraceEvent.h
|
| diff --git a/third_party/WebKit/Source/platform/TraceEvent.h b/third_party/WebKit/Source/platform/TraceEvent.h
|
| index 508d32791143f39156fea7730494a5ad69567b72..757949a7cc99e6be3c09454090f14cafcbeedf4f 100644
|
| --- a/third_party/WebKit/Source/platform/TraceEvent.h
|
| +++ b/third_party/WebKit/Source/platform/TraceEvent.h
|
| @@ -173,13 +173,29 @@
|
| INTERNALTRACEEVENTUID(categoryGroupEnabled), name, h); \
|
| }
|
|
|
| +#define INTERNAL_TRACE_EVENT_ADD_SCOPED_WITH_FLOW(category, name, bindId, flowFlags, ...) \
|
| + INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category); \
|
| + blink::TraceEvent::ScopedTracer INTERNALTRACEEVENTUID(scopedTracer); \
|
| + if (INTERNAL_TRACE_EVENT_CATEGORY_GROUP_ENABLED_FOR_RECORDING_MODE()) { \
|
| + unsigned traceEventFlags = flowFlags; \
|
| + blink::TraceEvent::TraceID traceEventBindId(bindId, &traceEventFlags); \
|
| + blink::TraceEvent::TraceEventHandle h = \
|
| + blink::TraceEvent::addTraceEvent( \
|
| + TRACE_EVENT_PHASE_COMPLETE, \
|
| + INTERNALTRACEEVENTUID(categoryGroupEnabled), \
|
| + name, blink::TraceEvent::noEventId, traceEventBindId.data(), \
|
| + systemTraceTime(), traceEventFlags, ##__VA_ARGS__); \
|
| + INTERNALTRACEEVENTUID(scopedTracer).initialize( \
|
| + INTERNALTRACEEVENTUID(categoryGroupEnabled), name, h); \
|
| + }
|
| +
|
| // 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, name, id, flags, ...) \
|
| do { \
|
| INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category); \
|
| if (INTERNAL_TRACE_EVENT_CATEGORY_GROUP_ENABLED_FOR_RECORDING_MODE()) { \
|
| - unsigned char traceEventFlags = flags | TRACE_EVENT_FLAG_HAS_ID; \
|
| + unsigned traceEventFlags = flags | TRACE_EVENT_FLAG_HAS_ID; \
|
| blink::TraceEvent::TraceID traceEventTraceID( \
|
| id, &traceEventFlags); \
|
| blink::TraceEvent::addTraceEvent( \
|
| @@ -195,12 +211,13 @@
|
| do { \
|
| INTERNAL_TRACE_EVENT_GET_CATEGORY_INFO(category); \
|
| if (INTERNAL_TRACE_EVENT_CATEGORY_GROUP_ENABLED_FOR_RECORDING_MODE()) { \
|
| - unsigned char traceEventFlags = flags | TRACE_EVENT_FLAG_HAS_ID; \
|
| + unsigned traceEventFlags = flags | TRACE_EVENT_FLAG_HAS_ID; \
|
| blink::TraceEvent::TraceID traceEventTraceID( \
|
| id, &traceEventFlags); \
|
| blink::TraceEvent::addTraceEvent( \
|
| phase, INTERNALTRACEEVENTUID(categoryGroupEnabled), \
|
| - name, traceEventTraceID.data(), timestamp, traceEventFlags, ##__VA_ARGS__); \
|
| + name, traceEventTraceID.data(), blink::TraceEvent::noBindId, \
|
| + timestamp, traceEventFlags, ##__VA_ARGS__); \
|
| } \
|
| } while (0)
|
|
|
| @@ -212,7 +229,8 @@
|
| if (INTERNAL_TRACE_EVENT_CATEGORY_GROUP_ENABLED_FOR_RECORDING_MODE()) { \
|
| blink::TraceEvent::addTraceEvent( \
|
| phase, INTERNALTRACEEVENTUID(categoryGroupEnabled), name, \
|
| - blink::TraceEvent::noEventId, timestamp, flags, ##__VA_ARGS__); \
|
| + blink::TraceEvent::noEventId, blink::TraceEvent::noBindId, \
|
| + timestamp, flags, ##__VA_ARGS__); \
|
| } \
|
| } while (0)
|
|
|
| @@ -234,6 +252,7 @@ namespace TraceEvent {
|
| // used.
|
| const int zeroNumArgs = 0;
|
| const unsigned long long noEventId = 0;
|
| +const unsigned long long noBindId = 0;
|
|
|
| // TraceID encapsulates an ID that can either be an integer or pointer. Pointers
|
| // are mangled with the Process ID so that they are unlikely to collide when the
|
| @@ -250,30 +269,30 @@ public:
|
| typedef MangleBehavior<false> DontMangle;
|
| typedef MangleBehavior<true> ForceMangle;
|
|
|
| - TraceID(const void* id, unsigned char* flags) :
|
| + TraceID(const void* id, unsigned* flags) :
|
| m_data(static_cast<unsigned long long>(reinterpret_cast<unsigned long>(id)))
|
| {
|
| *flags |= TRACE_EVENT_FLAG_MANGLE_ID;
|
| }
|
| - TraceID(ForceMangle id, unsigned char* flags) : m_data(id.data())
|
| + TraceID(ForceMangle id, unsigned* flags) : m_data(id.data())
|
| {
|
| *flags |= TRACE_EVENT_FLAG_MANGLE_ID;
|
| }
|
| - TraceID(DontMangle id, unsigned char*) : m_data(id.data()) { }
|
| - TraceID(unsigned long long id, unsigned char*) : m_data(id) { }
|
| - TraceID(unsigned long id, unsigned char*) : m_data(id) { }
|
| - TraceID(unsigned id, unsigned char*) : m_data(id) { }
|
| - TraceID(unsigned short id, unsigned char*) : m_data(id) { }
|
| - TraceID(unsigned char id, unsigned char*) : m_data(id) { }
|
| - TraceID(long long id, unsigned char*) :
|
| + TraceID(DontMangle id, unsigned*) : m_data(id.data()) { }
|
| + TraceID(unsigned long long id, unsigned*) : m_data(id) { }
|
| + TraceID(unsigned long id, unsigned*) : m_data(id) { }
|
| + TraceID(unsigned id, unsigned*) : m_data(id) { }
|
| + TraceID(unsigned short id, unsigned*) : m_data(id) { }
|
| + TraceID(unsigned char id, unsigned*) : m_data(id) { }
|
| + TraceID(long long id, unsigned*) :
|
| m_data(static_cast<unsigned long long>(id)) { }
|
| - TraceID(long id, unsigned char*) :
|
| + TraceID(long id, unsigned*) :
|
| m_data(static_cast<unsigned long long>(id)) { }
|
| - TraceID(int id, unsigned char*) :
|
| + TraceID(int id, unsigned*) :
|
| m_data(static_cast<unsigned long long>(id)) { }
|
| - TraceID(short id, unsigned char*) :
|
| + TraceID(short id, unsigned*) :
|
| m_data(static_cast<unsigned long long>(id)) { }
|
| - TraceID(signed char id, unsigned char*) :
|
| + TraceID(signed char id, unsigned*) :
|
| m_data(static_cast<unsigned long long>(id)) { }
|
|
|
| unsigned long long data() const { return m_data; }
|
| @@ -392,23 +411,25 @@ static inline TraceEventHandle addTraceEvent(
|
| const unsigned char* categoryEnabled,
|
| const char* name,
|
| unsigned long long id,
|
| + unsigned long long bindId,
|
| double timestamp,
|
| - unsigned char flags)
|
| + unsigned flags)
|
| {
|
| return TRACE_EVENT_API_ADD_TRACE_EVENT(
|
| - phase, categoryEnabled, name, id, timestamp,
|
| + phase, categoryEnabled, name, id, bindId, timestamp,
|
| zeroNumArgs, 0, 0, 0,
|
| flags);
|
| }
|
|
|
| -template<typename ARG1_TYPE>
|
| +template <typename ARG1_TYPE>
|
| static inline TraceEventHandle addTraceEvent(
|
| char phase,
|
| const unsigned char* categoryEnabled,
|
| const char* name,
|
| unsigned long long id,
|
| + unsigned long long bindId,
|
| double timestamp,
|
| - unsigned char flags,
|
| + unsigned flags,
|
| const char* arg1Name,
|
| const ARG1_TYPE& arg1Val)
|
| {
|
| @@ -418,14 +439,14 @@ static inline TraceEventHandle addTraceEvent(
|
| setTraceValue(arg1Val, &argTypes[0], &argValues[0]);
|
| if (isConvertableToTraceFormat(arg1Val)) {
|
| return TRACE_EVENT_API_ADD_TRACE_EVENT(
|
| - phase, categoryEnabled, name, id, timestamp,
|
| + phase, categoryEnabled, name, id, bindId, timestamp,
|
| numArgs, &arg1Name, argTypes, argValues,
|
| moveFromIfConvertableToTraceFormat(arg1Val),
|
| nullptr,
|
| flags);
|
| }
|
| return TRACE_EVENT_API_ADD_TRACE_EVENT(
|
| - phase, categoryEnabled, name, id, timestamp,
|
| + phase, categoryEnabled, name, id, bindId, timestamp,
|
| numArgs, &arg1Name, argTypes, argValues,
|
| flags);
|
| }
|
| @@ -436,8 +457,9 @@ static inline TraceEventHandle addTraceEvent(
|
| const unsigned char* categoryEnabled,
|
| const char* name,
|
| unsigned long long id,
|
| + unsigned long long bindId,
|
| double timestamp,
|
| - unsigned char flags,
|
| + unsigned flags,
|
| const char* arg1Name,
|
| const ARG1_TYPE& arg1Val,
|
| const char* arg2Name,
|
| @@ -451,14 +473,14 @@ static inline TraceEventHandle addTraceEvent(
|
| setTraceValue(arg2Val, &argTypes[1], &argValues[1]);
|
| if (isConvertableToTraceFormat(arg1Val) || isConvertableToTraceFormat(arg2Val)) {
|
| return TRACE_EVENT_API_ADD_TRACE_EVENT(
|
| - phase, categoryEnabled, name, id, timestamp,
|
| + phase, categoryEnabled, name, id, bindId, timestamp,
|
| numArgs, argNames, argTypes, argValues,
|
| moveFromIfConvertableToTraceFormat(arg1Val),
|
| moveFromIfConvertableToTraceFormat(arg2Val),
|
| flags);
|
| }
|
| return TRACE_EVENT_API_ADD_TRACE_EVENT(
|
| - phase, categoryEnabled, name, id, timestamp,
|
| + phase, categoryEnabled, name, id, bindId, timestamp,
|
| numArgs, argNames, argTypes, argValues,
|
| flags);
|
| }
|
| @@ -468,9 +490,10 @@ static inline TraceEventHandle addTraceEvent(
|
| const unsigned char* categoryEnabled,
|
| const char* name,
|
| unsigned long long id,
|
| - unsigned char flags)
|
| + unsigned flags)
|
| {
|
| - return addTraceEvent(phase, categoryEnabled, name, id, systemTraceTime(), flags);
|
| + return addTraceEvent(phase, categoryEnabled, name, id, blink::TraceEvent::noBindId,
|
| + systemTraceTime(), flags);
|
| }
|
|
|
| template<typename ARG1_TYPE>
|
| @@ -479,11 +502,12 @@ static inline TraceEventHandle addTraceEvent(
|
| const unsigned char* categoryEnabled,
|
| const char* name,
|
| unsigned long long id,
|
| - unsigned char flags,
|
| + unsigned flags,
|
| const char* arg1Name,
|
| const ARG1_TYPE& arg1Val)
|
| {
|
| - return addTraceEvent(phase, categoryEnabled, name, id, systemTraceTime(), flags, arg1Name, arg1Val);
|
| + return addTraceEvent(phase, categoryEnabled, name, id, blink::TraceEvent::noBindId,
|
| + systemTraceTime(), flags, arg1Name, arg1Val);
|
| }
|
|
|
|
|
| @@ -493,13 +517,14 @@ static inline TraceEventHandle addTraceEvent(
|
| const unsigned char* categoryEnabled,
|
| const char* name,
|
| unsigned long long id,
|
| - unsigned char flags,
|
| + unsigned flags,
|
| const char* arg1Name,
|
| const ARG1_TYPE& arg1Val,
|
| const char* arg2Name,
|
| const ARG2_TYPE& arg2Val)
|
| {
|
| - return addTraceEvent(phase, categoryEnabled, name, id, systemTraceTime(), flags, arg1Name, arg1Val, arg2Name, arg2Val);
|
| + return addTraceEvent(phase, categoryEnabled, name, id, blink::TraceEvent::noBindId,
|
| + systemTraceTime(), flags, arg1Name, arg1Val, arg2Name, arg2Val);
|
| }
|
|
|
| // Used by TRACE_EVENTx macro. Do not use directly.
|
|
|