1
0
mirror of https://github.com/wolfpld/tracy.git synced 2025-03-20 07:40:02 +08:00

Fill in thread id during dequeue, not during enqueue.

This commit is contained in:
Bartosz Taudul
2019-07-30 00:42:31 +02:00
parent 142ef53b42
commit a6a3f45810
8 changed files with 100 additions and 154 deletions
+1 -11
View File
@@ -25,7 +25,6 @@ public:
{
if( !m_active ) return;
Magic magic;
const auto thread = GetThreadHandle();
auto token = GetToken();
auto& tail = token->get_tail_index();
auto item = token->enqueue_begin( magic );
@@ -37,7 +36,6 @@ public:
MemWrite( &item->zoneBegin.time, Profiler::GetTime( cpu ) );
MemWrite( &item->zoneBegin.cpu, cpu );
#endif
MemWrite( &item->zoneBegin.thread, thread );
MemWrite( &item->zoneBegin.srcloc, (uint64_t)srcloc );
tail.store( magic + 1, std::memory_order_release );
}
@@ -51,7 +49,6 @@ public:
#endif
{
if( !m_active ) return;
const auto thread = GetThreadHandle();
Magic magic;
auto token = GetToken();
auto& tail = token->get_tail_index();
@@ -64,11 +61,10 @@ public:
MemWrite( &item->zoneBegin.time, Profiler::GetTime( cpu ) );
MemWrite( &item->zoneBegin.cpu, cpu );
#endif
MemWrite( &item->zoneBegin.thread, thread );
MemWrite( &item->zoneBegin.srcloc, (uint64_t)srcloc );
tail.store( magic + 1, std::memory_order_release );
GetProfiler().SendCallstack( depth, thread );
GetProfiler().SendCallstack( depth );
}
tracy_force_inline ~ScopedZone()
@@ -78,7 +74,6 @@ public:
if( GetProfiler().ConnectionId() != m_connectionId ) return;
#endif
Magic magic;
const auto thread = GetThreadHandle();
auto token = GetToken();
auto& tail = token->get_tail_index();
auto item = token->enqueue_begin( magic );
@@ -90,7 +85,6 @@ public:
MemWrite( &item->zoneEnd.time, Profiler::GetTime( cpu ) );
MemWrite( &item->zoneEnd.cpu, cpu );
#endif
MemWrite( &item->zoneEnd.thread, thread );
tail.store( magic + 1, std::memory_order_release );
}
@@ -101,7 +95,6 @@ public:
if( GetProfiler().ConnectionId() != m_connectionId ) return;
#endif
Magic magic;
const auto thread = GetThreadHandle();
auto token = GetToken();
auto ptr = (char*)tracy_malloc( size+1 );
memcpy( ptr, txt, size );
@@ -109,7 +102,6 @@ public:
auto& tail = token->get_tail_index();
auto item = token->enqueue_begin( magic );
MemWrite( &item->hdr.type, QueueType::ZoneText );
MemWrite( &item->zoneText.thread, thread );
MemWrite( &item->zoneText.text, (uint64_t)ptr );
tail.store( magic + 1, std::memory_order_release );
}
@@ -121,7 +113,6 @@ public:
if( GetProfiler().ConnectionId() != m_connectionId ) return;
#endif
Magic magic;
const auto thread = GetThreadHandle();
auto token = GetToken();
auto ptr = (char*)tracy_malloc( size+1 );
memcpy( ptr, txt, size );
@@ -129,7 +120,6 @@ public:
auto& tail = token->get_tail_index();
auto item = token->enqueue_begin( magic );
MemWrite( &item->hdr.type, QueueType::ZoneName );
MemWrite( &item->zoneText.thread, thread );
MemWrite( &item->zoneText.text, (uint64_t)ptr );
tail.store( magic + 1, std::memory_order_release );
}