From 8b2b2f650f911d44c767445f66db333a5fdeb98b Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Fri, 1 May 2020 16:33:09 +0200 Subject: [PATCH] Add space for register data in each asm line. --- server/TracySourceView.cpp | 6 ++++++ server/TracySourceView.hpp | 3 +++ 2 files changed, 9 insertions(+) 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()