From 9a5329b97d1825b14e0970ee4770262436981742 Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Wed, 20 Jun 2018 01:59:25 +0200 Subject: [PATCH] Save and load callstack frames. --- server/TracyWorker.cpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index 91c5a868..2f48512d 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -640,6 +640,19 @@ Worker::Worker( FileRead& f, EventType::Type eventMask ) m_data.callstackPayload.push_back_no_space_check( arr ); } + + f.Read( sz ); + m_data.callstackFrameMap.reserve( sz ); + for( uint64_t i=0; i(); + f.Read( frame, sizeof( CallstackFrame ) ); + + m_data.callstackFrameMap.emplace( ptr, frame ); + } } template @@ -2534,6 +2547,14 @@ void Worker::Write( FileWrite& f ) f.Write( &csz, sizeof( csz ) ); f.Write( cs->data(), sizeof( uint64_t ) * csz ); } + + sz = m_data.callstackFrameMap.size(); + f.Write( &sz, sizeof( sz ) ); + for( auto& frame : m_data.callstackFrameMap ) + { + f.Write( &frame.first, sizeof( uint64_t ) ); + f.Write( frame.second, sizeof( CallstackFrame ) ); + } } void Worker::WriteTimeline( FileWrite& f, const Vector& vec )