LLDB mainline
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
UnwindAssembly_x86 Class Reference

#include <UnwindAssembly-x86.h>

Inheritance diagram for UnwindAssembly_x86:
Inheritance graph
[legend]

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
 
virtual bool GetNonCallSiteUnwindPlanFromAssembly (AddressRange &func, Thread &thread, UnwindPlan &unwind_plan)=0
 
virtual bool AugmentUnwindPlanFromCallSite (AddressRange &func, Thread &thread, UnwindPlan &unwind_plan)=0
 
virtual bool GetFastUnwindPlan (AddressRange &func, Thread &thread, UnwindPlan &unwind_plan)=0
 
virtual bool FirstNonPrologueInsn (AddressRange &func, const lldb_private::ExecutionContext &exe_ctx, Address &first_non_prologue_insn)=0
 
- Public Member Functions inherited from lldb_private::PluginInterface
 PluginInterface ()=default
 
virtual ~PluginInterface ()=default
 
virtual llvm::StringRef GetPluginName ()=0
 
 PluginInterface (const PluginInterface &)=delete
 
PluginInterfaceoperator= (const PluginInterface &)=delete
 

Static Public Member Functions

static lldb_private::UnwindAssemblyCreateInstance (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::x86AssemblyInspectionEnginem_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
 

Detailed Description

Definition at line 17 of file UnwindAssembly-x86.h.

Constructor & Destructor Documentation

◆ ~UnwindAssembly_x86()

UnwindAssembly_x86::~UnwindAssembly_x86 ( )
override

Definition at line 41 of file UnwindAssembly-x86.cpp.

References m_assembly_inspection_engine.

◆ UnwindAssembly_x86()

UnwindAssembly_x86::UnwindAssembly_x86 ( const lldb_private::ArchSpec arch)
private

Definition at line 37 of file UnwindAssembly-x86.cpp.

Member Function Documentation

◆ AugmentUnwindPlanFromCallSite()

bool UnwindAssembly_x86::AugmentUnwindPlanFromCallSite ( lldb_private::AddressRange func,
lldb_private::Thread thread,
lldb_private::UnwindPlan unwind_plan 
)
overridevirtual

◆ CreateInstance()

UnwindAssembly * UnwindAssembly_x86::CreateInstance ( const lldb_private::ArchSpec arch)
static

Definition at line 235 of file UnwindAssembly-x86.cpp.

References lldb_private::ArchSpec::GetMachine().

Referenced by Initialize(), and Terminate().

◆ FirstNonPrologueInsn()

bool UnwindAssembly_x86::FirstNonPrologueInsn ( lldb_private::AddressRange func,
const lldb_private::ExecutionContext exe_ctx,
lldb_private::Address first_non_prologue_insn 
)
overridevirtual

◆ GetFastUnwindPlan()

bool UnwindAssembly_x86::GetFastUnwindPlan ( lldb_private::AddressRange func,
lldb_private::Thread thread,
lldb_private::UnwindPlan unwind_plan 
)
overridevirtual

◆ GetNonCallSiteUnwindPlanFromAssembly()

bool UnwindAssembly_x86::GetNonCallSiteUnwindPlanFromAssembly ( lldb_private::AddressRange func,
lldb_private::Thread thread,
lldb_private::UnwindPlan unwind_plan 
)
overridevirtual

◆ GetPluginDescriptionStatic()

llvm::StringRef UnwindAssembly_x86::GetPluginDescriptionStatic ( )
static

Definition at line 251 of file UnwindAssembly-x86.cpp.

Referenced by Initialize().

◆ GetPluginName()

llvm::StringRef UnwindAssembly_x86::GetPluginName ( )
inlineoverridevirtual

Implements lldb_private::PluginInterface.

Definition at line 53 of file UnwindAssembly-x86.h.

References GetPluginNameStatic().

◆ GetPluginNameStatic()

static llvm::StringRef UnwindAssembly_x86::GetPluginNameStatic ( )
inlinestatic

Definition at line 49 of file UnwindAssembly-x86.h.

Referenced by GetPluginName(), and Initialize().

◆ Initialize()

void UnwindAssembly_x86::Initialize ( )
static

◆ Terminate()

void UnwindAssembly_x86::Terminate ( )
static

Member Data Documentation

◆ m_arch

lldb_private::ArchSpec UnwindAssembly_x86::m_arch
private

Definition at line 58 of file UnwindAssembly-x86.h.

◆ m_assembly_inspection_engine

lldb_private::x86AssemblyInspectionEngine* UnwindAssembly_x86::m_assembly_inspection_engine
private

The documentation for this class was generated from the following files: