mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-12 19:31:47 +00:00
Process callstack queue event.
This commit is contained in:
parent
205a4e4ca2
commit
5e01a8ead9
@ -1576,6 +1576,9 @@ void Worker::Process( const QueueItem& ev )
|
|||||||
case QueueType::CallstackMemory:
|
case QueueType::CallstackMemory:
|
||||||
ProcessCallstackMemory( ev.callstackMemory );
|
ProcessCallstackMemory( ev.callstackMemory );
|
||||||
break;
|
break;
|
||||||
|
case QueueType::Callstack:
|
||||||
|
ProcessCallstack( ev.callstack );
|
||||||
|
break;
|
||||||
case QueueType::CallstackFrame:
|
case QueueType::CallstackFrame:
|
||||||
ProcessCallstackFrame( ev.callstackFrame );
|
ProcessCallstackFrame( ev.callstackFrame );
|
||||||
break;
|
break;
|
||||||
@ -2147,6 +2150,28 @@ void Worker::ProcessCallstackMemory( const QueueCallstackMemory& ev )
|
|||||||
m_pendingCallstacks.erase( it );
|
m_pendingCallstacks.erase( it );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Worker::ProcessCallstack( const QueueCallstack& ev )
|
||||||
|
{
|
||||||
|
auto it = m_pendingCallstacks.find( ev.ptr );
|
||||||
|
assert( it != m_pendingCallstacks.end() );
|
||||||
|
|
||||||
|
auto nit = m_nextCallstack.find( ev.thread );
|
||||||
|
assert( nit != m_nextCallstack.end() );
|
||||||
|
auto& next = nit->second;
|
||||||
|
|
||||||
|
switch( next.type )
|
||||||
|
{
|
||||||
|
case NextCallstackType::Zone:
|
||||||
|
next.zone->callstack = it->second;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
assert( false );
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_pendingCallstacks.erase( it );
|
||||||
|
}
|
||||||
|
|
||||||
void Worker::ProcessCallstackFrame( const QueueCallstackFrame& ev )
|
void Worker::ProcessCallstackFrame( const QueueCallstackFrame& ev )
|
||||||
{
|
{
|
||||||
assert( m_pendingCallstackFrames > 0 );
|
assert( m_pendingCallstackFrames > 0 );
|
||||||
|
@ -237,6 +237,7 @@ private:
|
|||||||
tracy_force_inline void ProcessMemAllocCallstack( const QueueMemAlloc& ev );
|
tracy_force_inline void ProcessMemAllocCallstack( const QueueMemAlloc& ev );
|
||||||
tracy_force_inline void ProcessMemFreeCallstack( const QueueMemFree& ev );
|
tracy_force_inline void ProcessMemFreeCallstack( const QueueMemFree& ev );
|
||||||
tracy_force_inline void ProcessCallstackMemory( const QueueCallstackMemory& ev );
|
tracy_force_inline void ProcessCallstackMemory( const QueueCallstackMemory& ev );
|
||||||
|
tracy_force_inline void ProcessCallstack( const QueueCallstack& ev );
|
||||||
tracy_force_inline void ProcessCallstackFrame( const QueueCallstackFrame& ev );
|
tracy_force_inline void ProcessCallstackFrame( const QueueCallstackFrame& ev );
|
||||||
|
|
||||||
tracy_force_inline void ProcessZoneBeginImpl( ZoneEvent* zone, const QueueZoneBegin& ev );
|
tracy_force_inline void ProcessZoneBeginImpl( ZoneEvent* zone, const QueueZoneBegin& ev );
|
||||||
|
Loading…
Reference in New Issue
Block a user