diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index b96bbb32..1cc333ce 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -664,6 +664,13 @@ Worker::Worker( FileRead& f, EventType::Type eventMask ) if( eventMask & EventType::Memory ) { m_data.memory.data.reserve_and_use( sz ); + if( fileVer >= FileVersion( 0, 3, 201 ) ) + { + uint64_t activeSz, freesSz; + f.Read2( activeSz, freesSz ); + m_data.memory.active.reserve( activeSz ); + m_data.memory.frees.reserve( freesSz ); + } auto mem = m_data.memory.data.data(); s_loadProgress.subTotal.store( sz, std::memory_order_relaxed ); for( uint64_t i=0; i= FileVersion( 0, 3, 201 ) ) + { + f.Skip( 2 * sizeof( uint64_t ) ); + } if( fileVer <= FileVersion( 0, 3, 1 ) ) { f.Skip( sz * ( @@ -2919,6 +2930,10 @@ void Worker::Write( FileWrite& f ) sz = m_data.memory.data.size(); f.Write( &sz, sizeof( sz ) ); + sz = m_data.memory.active.size(); + f.Write( &sz, sizeof( sz ) ); + sz = m_data.memory.frees.size(); + f.Write( &sz, sizeof( sz ) ); for( auto& mem : m_data.memory.data ) { f.Write( &mem, sizeof( MemEvent::ptr ) + sizeof( MemEvent::size ) + sizeof( MemEvent::timeAlloc ) + sizeof( MemEvent::timeFree ) + sizeof( MemEvent::csAlloc ) + sizeof( MemEvent::csFree ) );