diff options
author | Bartosz Taudul <wolf@nereid.pl> | 2022-10-11 22:40:45 +0300 |
---|---|---|
committer | Bartosz Taudul <wolf@nereid.pl> | 2022-10-11 22:40:45 +0300 |
commit | 4d0768ba9de086250d0d37423896f172dab93ee8 (patch) | |
tree | 5561e25b5635f52c1f5a7642e4285023befb9c1e | |
parent | c9adadf86a6e430509f522df5ba32a94b1d969a3 (diff) |
Replace code location queries with callstack frame ones.
-rw-r--r-- | server/TracyWorker.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index 79d8afdf..a0956738 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -4166,10 +4166,15 @@ void Worker::AddSymbolCode( uint64_t ptr, const char* data, size_t sz ) size_t cnt = cs_disasm( handle, (const uint8_t*)code, sz, ptr, 0, &insn ); if( cnt > 0 ) { - m_pendingCodeInformation += cnt; for( size_t i=0; i<cnt; i++ ) { - Query( ServerQueryCodeLocation, insn[i].address ); + const auto addr = insn[i].address; + const auto ptr = PackPointer( addr ); + if( m_data.callstackFrameMap.find( ptr ) == m_data.callstackFrameMap.end() ) + { + m_pendingCallstackFrames++; + Query( ServerQueryCallstackFrame, addr ); + } } cs_free( insn, cnt ); } |