mirror of
https://github.com/wolfpld/tracy
synced 2025-04-29 12:23:53 +00:00
Collect jumps outside symbol.
This commit is contained in:
parent
e02e595eec
commit
78a0773f38
@ -106,6 +106,7 @@ bool SourceView::Disassemble( uint64_t symAddr, const Worker& worker )
|
||||
{
|
||||
m_asm.clear();
|
||||
m_jumpTable.clear();
|
||||
m_jumpOut.clear();
|
||||
m_maxJumpLevel = 0;
|
||||
if( symAddr == 0 ) return false;
|
||||
const auto arch = worker.GetCpuArch();
|
||||
@ -197,6 +198,10 @@ bool SourceView::Disassemble( uint64_t symAddr, const Worker& worker )
|
||||
it->second.source.emplace_back( op.address );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
m_jumpOut.emplace( op.address );
|
||||
}
|
||||
}
|
||||
m_asm.emplace_back( AsmLine { op.address, jumpAddr, op.mnemonic, op.op_str } );
|
||||
}
|
||||
|
@ -72,6 +72,7 @@ private:
|
||||
std::vector<AsmLine> m_asm;
|
||||
|
||||
unordered_flat_map<uint64_t, JumpData> m_jumpTable;
|
||||
unordered_flat_set<uint64_t> m_jumpOut;
|
||||
int m_maxJumpLevel;
|
||||
bool m_showJumps;
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user