LLDB mainline
|
Tracks live variable annotations across instructions and produces per-instruction "events" like name = RDI or name = <undef>. More...
#include <Disassembler.h>
Classes | |
struct | VarState |
Public Member Functions | |
std::vector< std::string > | annotate (Instruction &inst, Target &target, const lldb::ModuleSP &module_sp) |
Compute annotation strings for a single instruction and update Live_. |
Private Attributes | |
llvm::DenseMap< lldb::user_id_t, VarState > | Live_ |
Tracks live variable annotations across instructions and produces per-instruction "events" like name = RDI or name = <undef>.
Definition at line 571 of file Disassembler.h.
std::vector< std::string > VariableAnnotator::annotate | ( | Instruction & | inst, |
Target & | target, | ||
const lldb::ModuleSP & | module_sp ) |
Compute annotation strings for a single instruction and update Live_.
Returns only the events that should be printed at this instruction.
Definition at line 303 of file Disassembler.cpp.
References lldb_private::SymbolContext::block, lldb_private::line_editor::Current, lldb::eDescriptionLevelBrief, lldb_private::ABI::FindPlugin(), lldb_private::SymbolContext::function, lldb_private::Function::GetAddress(), lldb_private::Instruction::GetAddress(), lldb_private::Target::GetArchitecture(), lldb_private::DWARFExpressionList::GetExpressionEntryAtAddress(), lldb_private::Address::GetFileAddress(), lldb_private::VariableList::GetSize(), lldb_private::StreamString::GetString(), lldb_private::VariableList::GetVariableAtIndex(), lldb_private::DWARFExpressionList::IsValid(), and Live_.
Referenced by lldb_private::Disassembler::PrintInstructions().
|
private |
Definition at line 580 of file Disassembler.h.
Referenced by annotate().