|
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().