OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 25 matching lines...) Expand all Loading... |
36 #include "wtf/Functional.h" | 36 #include "wtf/Functional.h" |
37 #include "wtf/MainThread.h" | 37 #include "wtf/MainThread.h" |
38 #include "wtf/text/StringHash.h" | 38 #include "wtf/text/StringHash.h" |
39 | 39 |
40 namespace WebCore { | 40 namespace WebCore { |
41 | 41 |
42 void TraceEventDispatcher::dispatchEventOnAnyThread(char phase, const unsigned c
har*, const char* name, unsigned long long id, | 42 void TraceEventDispatcher::dispatchEventOnAnyThread(char phase, const unsigned c
har*, const char* name, unsigned long long id, |
43 int numArgs, const char* const* argNames, const unsigned char* argTypes, con
st unsigned long long* argValues, | 43 int numArgs, const char* const* argNames, const unsigned char* argTypes, con
st unsigned long long* argValues, |
44 unsigned char flags, double timestamp) | 44 unsigned char flags, double timestamp) |
45 { | 45 { |
| 46 if (phase == TRACE_EVENT_PHASE_INSTANT_WITH_SCOPE) |
| 47 phase = TRACE_EVENT_PHASE_INSTANT; |
46 TraceEventDispatcher* self = instance(); | 48 TraceEventDispatcher* self = instance(); |
47 { | 49 { |
48 MutexLocker locker(self->m_mutex); | 50 MutexLocker locker(self->m_mutex); |
49 if (self->m_handlers.find(std::make_pair(name, phase)) == self->m_handle
rs.end()) | 51 if (self->m_handlers.find(std::make_pair(name, phase)) == self->m_handle
rs.end()) |
50 return; | 52 return; |
51 } | 53 } |
52 self->enqueueEvent(TraceEvent(timestamp, phase, name, id, currentThread(), n
umArgs, argNames, argTypes, argValues)); | 54 self->enqueueEvent(TraceEvent(timestamp, phase, name, id, currentThread(), n
umArgs, argNames, argTypes, argValues)); |
53 if (isMainThread()) | 55 if (isMainThread()) |
54 self->processBackgroundEvents(); | 56 self->processBackgroundEvents(); |
55 } | 57 } |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 size_t index = findParameter(name); | 150 size_t index = findParameter(name); |
149 if (index == kNotFound || m_argumentTypes[index] != expectedType) { | 151 if (index == kNotFound || m_argumentTypes[index] != expectedType) { |
150 ASSERT_NOT_REACHED(); | 152 ASSERT_NOT_REACHED(); |
151 return missingValue; | 153 return missingValue; |
152 } | 154 } |
153 return *reinterpret_cast<const WebCore::TraceEvent::TraceValueUnion*>(m_argu
mentValues + index); | 155 return *reinterpret_cast<const WebCore::TraceEvent::TraceValueUnion*>(m_argu
mentValues + index); |
154 } | 156 } |
155 | 157 |
156 } // namespace WebCore | 158 } // namespace WebCore |
157 | 159 |
OLD | NEW |