mirror of
https://github.com/wolfpld/tracy
synced 2025-04-29 12:23:53 +00:00
Defer lock announcements.
This commit is contained in:
parent
475d151b2d
commit
ad0a75da7d
@ -22,7 +22,6 @@ public:
|
|||||||
{
|
{
|
||||||
assert( m_id != std::numeric_limits<uint32_t>::max() );
|
assert( m_id != std::numeric_limits<uint32_t>::max() );
|
||||||
|
|
||||||
#ifndef TRACY_ON_DEMAND
|
|
||||||
Magic magic;
|
Magic magic;
|
||||||
auto& token = s_token.ptr;
|
auto& token = s_token.ptr;
|
||||||
auto& tail = token->get_tail_index();
|
auto& tail = token->get_tail_index();
|
||||||
@ -31,8 +30,12 @@ public:
|
|||||||
MemWrite( &item->lockAnnounce.id, m_id );
|
MemWrite( &item->lockAnnounce.id, m_id );
|
||||||
MemWrite( &item->lockAnnounce.lckloc, (uint64_t)srcloc );
|
MemWrite( &item->lockAnnounce.lckloc, (uint64_t)srcloc );
|
||||||
MemWrite( &item->lockAnnounce.type, LockType::Lockable );
|
MemWrite( &item->lockAnnounce.type, LockType::Lockable );
|
||||||
tail.store( magic + 1, std::memory_order_release );
|
|
||||||
|
#ifdef TRACY_ON_DEMAND
|
||||||
|
s_profiler.DeferItem( *item );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
tail.store( magic + 1, std::memory_order_release );
|
||||||
}
|
}
|
||||||
|
|
||||||
Lockable( const Lockable& ) = delete;
|
Lockable( const Lockable& ) = delete;
|
||||||
@ -140,7 +143,6 @@ public:
|
|||||||
{
|
{
|
||||||
assert( m_id != std::numeric_limits<uint32_t>::max() );
|
assert( m_id != std::numeric_limits<uint32_t>::max() );
|
||||||
|
|
||||||
#ifndef TRACY_ON_DEMAND
|
|
||||||
Magic magic;
|
Magic magic;
|
||||||
auto& token = s_token.ptr;
|
auto& token = s_token.ptr;
|
||||||
auto& tail = token->get_tail_index();
|
auto& tail = token->get_tail_index();
|
||||||
@ -149,8 +151,12 @@ public:
|
|||||||
MemWrite( &item->lockAnnounce.id, m_id );
|
MemWrite( &item->lockAnnounce.id, m_id );
|
||||||
MemWrite( &item->lockAnnounce.lckloc, (uint64_t)srcloc );
|
MemWrite( &item->lockAnnounce.lckloc, (uint64_t)srcloc );
|
||||||
MemWrite( &item->lockAnnounce.type, LockType::SharedLockable );
|
MemWrite( &item->lockAnnounce.type, LockType::SharedLockable );
|
||||||
tail.store( magic + 1, std::memory_order_release );
|
|
||||||
|
#ifdef TRACY_ON_DEMAND
|
||||||
|
s_profiler.DeferItem( *item );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
tail.store( magic + 1, std::memory_order_release );
|
||||||
}
|
}
|
||||||
|
|
||||||
SharedLockable( const SharedLockable& ) = delete;
|
SharedLockable( const SharedLockable& ) = delete;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user