mirror of
https://github.com/wolfpld/tracy
synced 2025-04-29 12:23:53 +00:00
Allow saving only lines within jump range.
This commit is contained in:
parent
0790e92cad
commit
e330b96b3d
@ -1721,6 +1721,11 @@ uint64_t SourceView::RenderSymbolAsmView( uint32_t iptotal, unordered_flat_map<u
|
|||||||
m_selectedAddresses.clear();
|
m_selectedAddresses.clear();
|
||||||
m_selectedAddresses.emplace( v.first );
|
m_selectedAddresses.emplace( v.first );
|
||||||
}
|
}
|
||||||
|
else if( ImGui::IsMouseClicked( 1 ) )
|
||||||
|
{
|
||||||
|
ImGui::OpenPopup( "jumpPopup" );
|
||||||
|
m_jumpPopupAddr = v.first;
|
||||||
|
}
|
||||||
selJumpStart = v.second.min;
|
selJumpStart = v.second.min;
|
||||||
selJumpEnd = v.second.max;
|
selJumpEnd = v.second.max;
|
||||||
selJumpTarget = v.first;
|
selJumpTarget = v.first;
|
||||||
@ -1750,6 +1755,42 @@ uint64_t SourceView::RenderSymbolAsmView( uint32_t iptotal, unordered_flat_map<u
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( m_font ) ImGui::PopFont();
|
||||||
|
if( ImGui::BeginPopup( "jumpPopup" ) )
|
||||||
|
{
|
||||||
|
if( ImGui::Button( ICON_FA_FILE_IMPORT " Save jump range" ) )
|
||||||
|
{
|
||||||
|
auto it = m_jumpTable.find( m_jumpPopupAddr );
|
||||||
|
assert( it != m_jumpTable.end() );
|
||||||
|
|
||||||
|
size_t minIdx = 0, maxIdx = 0;
|
||||||
|
size_t i;
|
||||||
|
for( i=0; i<m_asm.size(); i++ )
|
||||||
|
{
|
||||||
|
if( m_asm[i].addr = it->second.min )
|
||||||
|
{
|
||||||
|
minIdx = i++;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
assert( i != m_asm.size() );
|
||||||
|
for( ; i<m_asm.size(); i++ )
|
||||||
|
{
|
||||||
|
if( m_asm[i].addr == it->second.max )
|
||||||
|
{
|
||||||
|
maxIdx = i+1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
assert( i != m_asm.size() );
|
||||||
|
|
||||||
|
Save( worker, minIdx, maxIdx );
|
||||||
|
ImGui::CloseCurrentPopup();
|
||||||
|
}
|
||||||
|
ImGui::EndPopup();
|
||||||
|
}
|
||||||
|
if( m_font ) ImGui::PushFont( m_font );
|
||||||
}
|
}
|
||||||
|
|
||||||
auto win = ImGui::GetCurrentWindow();
|
auto win = ImGui::GetCurrentWindow();
|
||||||
|
@ -206,6 +206,7 @@ private:
|
|||||||
bool m_calcInlineStats;
|
bool m_calcInlineStats;
|
||||||
uint8_t m_maxAsmBytes;
|
uint8_t m_maxAsmBytes;
|
||||||
bool m_atnt;
|
bool m_atnt;
|
||||||
|
uint64_t m_jumpPopupAddr;
|
||||||
|
|
||||||
std::vector<Line> m_lines;
|
std::vector<Line> m_lines;
|
||||||
std::vector<AsmLine> m_asm;
|
std::vector<AsmLine> m_asm;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user