From cc0f1f514c75a62712fc2959397252b625652122 Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Thu, 13 Feb 2020 00:52:29 +0100 Subject: [PATCH] Store memory event time and thread data together. --- server/TracyEvent.hpp | 3 +++ server/TracyWorker.cpp | 8 +++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/server/TracyEvent.hpp b/server/TracyEvent.hpp index c6f37de1..d46aca3f 100644 --- a/server/TracyEvent.hpp +++ b/server/TracyEvent.hpp @@ -291,6 +291,9 @@ struct MemEvent tracy_force_inline uint16_t ThreadFree() const { return uint16_t( _time_thread_free ); } tracy_force_inline void SetThreadFree( uint16_t thread ) { memcpy( &_time_thread_free, &thread, 2 ); } + tracy_force_inline void SetTimeThreadAlloc( int64_t time, uint16_t thread ) { time <<= 16; time |= thread; memcpy( &_time_thread_alloc, &time, 8 ); } + tracy_force_inline void SetTimeThreadFree( int64_t time, uint16_t thread ) { time <<= 16; time |= thread; memcpy( &_time_thread_free, &time, 8 ); } + uint64_t _ptr_csalloc1; uint64_t _size_csalloc2; Int24 csFree; diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index 7b1b2869..86c8e802 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -1163,19 +1163,17 @@ Worker::Worker( FileRead& f, EventType::Type eventMask, bool bgTasks ) mem->SetSize( size ); mem->SetCsAlloc( csAlloc.Val() ); refTime += timeAlloc; - mem->SetTimeAlloc( refTime ); + mem->SetTimeThreadAlloc( refTime, threadAlloc ); if( timeFree >= 0 ) { - mem->SetTimeFree( timeFree + refTime ); + mem->SetTimeThreadFree( timeFree + refTime, threadFree ); frees[fidx++] = i; } else { - mem->SetTimeFree( timeFree ); + mem->SetTimeThreadFree( timeFree, threadFree ); active.emplace( ptr, i ); } - mem->SetThreadAlloc( threadAlloc ); - mem->SetThreadFree( threadFree ); mem++; } }