diff --git a/server/TracySourceView.cpp b/server/TracySourceView.cpp index 20a0e27e..e2076f0e 100644 --- a/server/TracySourceView.cpp +++ b/server/TracySourceView.cpp @@ -716,6 +716,7 @@ bool SourceView::Disassemble( uint64_t symAddr, const Worker& worker ) } cs_close( &handle ); m_codeLen = len; + ResetAsm(); return true; } @@ -2706,4 +2707,9 @@ void SourceView::SelectMicroArchitecture( const char* moniker ) assert( idx != MicroArchitectureNum ); } +void SourceView::ResetAsm() +{ + for( auto& line : m_asm ) memset( line.regData, 0, sizeof( line.regData ) ); +} + } diff --git a/server/TracySourceView.hpp b/server/TracySourceView.hpp index e750743e..5b005812 100644 --- a/server/TracySourceView.hpp +++ b/server/TracySourceView.hpp @@ -98,6 +98,7 @@ private: { RegsX86 writeX86[20]; }; + uint16_t regData[20]; }; enum { AsmLineSize = sizeof( AsmLine ) }; @@ -151,6 +152,8 @@ private: TokenColor IdentifyToken( const char*& begin, const char* end ); std::vector Tokenize( const char* begin, const char* end ); + void ResetAsm(); + struct TokenizerState { void Reset()