LLDB mainline
|
#include <UnwindAssembly-x86.h>
Public Member Functions | |
~UnwindAssembly_x86 () override | |
bool | GetNonCallSiteUnwindPlanFromAssembly (lldb_private::AddressRange &func, lldb_private::Thread &thread, lldb_private::UnwindPlan &unwind_plan) override |
bool | AugmentUnwindPlanFromCallSite (lldb_private::AddressRange &func, lldb_private::Thread &thread, lldb_private::UnwindPlan &unwind_plan) override |
bool | GetFastUnwindPlan (lldb_private::AddressRange &func, lldb_private::Thread &thread, lldb_private::UnwindPlan &unwind_plan) override |
bool | FirstNonPrologueInsn (lldb_private::AddressRange &func, const lldb_private::ExecutionContext &exe_ctx, lldb_private::Address &first_non_prologue_insn) override |
llvm::StringRef | GetPluginName () override |
Public Member Functions inherited from lldb_private::PluginInterface | |
PluginInterface ()=default | |
virtual | ~PluginInterface ()=default |
PluginInterface (const PluginInterface &)=delete | |
PluginInterface & | operator= (const PluginInterface &)=delete |
Static Public Member Functions | |
static lldb_private::UnwindAssembly * | CreateInstance (const lldb_private::ArchSpec &arch) |
static void | Initialize () |
static void | Terminate () |
static llvm::StringRef | GetPluginNameStatic () |
static llvm::StringRef | GetPluginDescriptionStatic () |
Static Public Member Functions inherited from lldb_private::UnwindAssembly | |
static lldb::UnwindAssemblySP | FindPlugin (const ArchSpec &arch) |
Private Member Functions | |
UnwindAssembly_x86 (const lldb_private::ArchSpec &arch) |
Private Attributes | |
lldb_private::ArchSpec | m_arch |
lldb_private::x86AssemblyInspectionEngine * | m_assembly_inspection_engine |
Additional Inherited Members | |
Protected Member Functions inherited from lldb_private::UnwindAssembly | |
UnwindAssembly (const ArchSpec &arch) | |
Protected Attributes inherited from lldb_private::UnwindAssembly | |
ArchSpec | m_arch |
Definition at line 17 of file UnwindAssembly-x86.h.
|
override |
Definition at line 41 of file UnwindAssembly-x86.cpp.
References m_assembly_inspection_engine.
|
private |
Definition at line 37 of file UnwindAssembly-x86.cpp.
References m_assembly_inspection_engine, lldb_private::UnwindAssembly::UnwindAssembly(), and UnwindAssembly_x86().
Referenced by CreateInstance(), and UnwindAssembly_x86().
|
overridevirtual |
Implements lldb_private::UnwindAssembly.
Definition at line 67 of file UnwindAssembly-x86.cpp.
References lldb::eRegisterKindGeneric, error(), RegisterNumber::GetAsKind(), lldb_private::AddressRange::GetBaseAddress(), lldb_private::AddressRange::GetByteSize(), lldb_private::UnwindPlan::Row::GetCFAValue(), lldb_private::UnwindPlan::GetLastRow(), lldb_private::UnwindPlan::Row::AbstractRegisterLocation::GetOffset(), lldb_private::UnwindPlan::Row::FAValue::GetOffset(), lldb_private::UnwindPlan::Row::GetOffset(), lldb_private::UnwindPlan::Row::GetRegisterInfo(), lldb_private::UnwindPlan::GetRegisterKind(), lldb_private::UnwindPlan::Row::FAValue::GetRegisterNumber(), lldb_private::UnwindPlan::GetRowForFunctionOffset(), lldb_private::UnwindPlan::Row::FAValue::GetValueType(), lldb_private::UnwindPlan::Row::AbstractRegisterLocation::IsAtCFAPlusOffset(), lldb_private::UnwindPlan::Row::FAValue::isRegisterPlusOffset, lldb_private::Address::IsValid(), LLDB_REGNUM_GENERIC_PC, LLDB_REGNUM_GENERIC_SP, and m_assembly_inspection_engine.
|
static |
Definition at line 237 of file UnwindAssembly-x86.cpp.
References lldb_private::ArchSpec::GetMachine(), lldb_private::UnwindAssembly::UnwindAssembly(), and UnwindAssembly_x86().
Referenced by Initialize(), and Terminate().
|
overridevirtual |
Implements lldb_private::UnwindAssembly.
Definition at line 208 of file UnwindAssembly-x86.cpp.
References error(), lldb_private::AddressRange::GetBaseAddress(), lldb_private::AddressRange::GetByteSize(), lldb_private::ExecutionContext::GetTargetPtr(), lldb_private::Address::IsValid(), m_assembly_inspection_engine, lldb_private::Target::ReadMemory(), and lldb_private::Address::Slide().
|
overridevirtual |
Implements lldb_private::UnwindAssembly.
Definition at line 170 of file UnwindAssembly-x86.cpp.
References error(), lldb_private::AddressRange::GetBaseAddress(), and lldb_private::Target::ReadMemory().
|
overridevirtual |
Implements lldb_private::UnwindAssembly.
Definition at line 45 of file UnwindAssembly-x86.cpp.
References error(), lldb_private::AddressRange::GetBaseAddress(), lldb_private::AddressRange::GetByteSize(), lldb_private::Address::IsValid(), and m_assembly_inspection_engine.
|
static |
Definition at line 253 of file UnwindAssembly-x86.cpp.
Referenced by Initialize().
|
inlineoverridevirtual |
Implements lldb_private::PluginInterface.
Definition at line 53 of file UnwindAssembly-x86.h.
References GetPluginNameStatic().
|
inlinestatic |
Definition at line 49 of file UnwindAssembly-x86.h.
Referenced by GetPluginName(), and Initialize().
|
static |
Definition at line 244 of file UnwindAssembly-x86.cpp.
References CreateInstance(), GetPluginDescriptionStatic(), GetPluginNameStatic(), and lldb_private::PluginManager::RegisterPlugin().
|
static |
Definition at line 249 of file UnwindAssembly-x86.cpp.
References CreateInstance(), and lldb_private::PluginManager::UnregisterPlugin().
|
private |
Definition at line 58 of file UnwindAssembly-x86.h.
|
private |
Definition at line 60 of file UnwindAssembly-x86.h.
Referenced by AugmentUnwindPlanFromCallSite(), FirstNonPrologueInsn(), GetNonCallSiteUnwindPlanFromAssembly(), UnwindAssembly_x86(), and ~UnwindAssembly_x86().