LLDB mainline
lldb_private::AppleObjCTrampolineHandler::AppleObjCVTables Class Reference

Classes

struct  VTableDescriptor
class  VTableRegion

Public Types

enum  VTableFlags { eOBJC_TRAMPOLINE_MESSAGE = (1 << 0) , eOBJC_TRAMPOLINE_STRET = (1 << 1) , eOBJC_TRAMPOLINE_VTABLE = (1 << 2) }

Public Member Functions

 AppleObjCVTables (const lldb::ProcessSP &process_sp, const lldb::ModuleSP &objc_module_sp)
 ~AppleObjCVTables ()
bool InitializeVTableSymbols ()
bool ReadRegions ()
bool ReadRegions (lldb::addr_t region_addr)
bool IsAddressInVTables (lldb::addr_t addr, uint32_t &flags)
lldb::ProcessSP GetProcessSP ()

Static Public Member Functions

static bool RefreshTrampolines (void *baton, StoppointCallbackContext *context, lldb::user_id_t break_id, lldb::user_id_t break_loc_id)

Private Types

typedef std::vector< VTableRegionregion_collection

Private Attributes

lldb::ProcessWP m_process_wp
lldb::addr_t m_trampoline_header
lldb::break_id_t m_trampolines_changed_bp_id
region_collection m_regions
lldb::ModuleSP m_objc_module_sp

Detailed Description

Definition at line 69 of file AppleObjCTrampolineHandler.h.

Member Typedef Documentation

◆ region_collection

Member Enumeration Documentation

◆ VTableFlags

Enumerator
eOBJC_TRAMPOLINE_MESSAGE 
eOBJC_TRAMPOLINE_STRET 
eOBJC_TRAMPOLINE_VTABLE 

Definition at line 72 of file AppleObjCTrampolineHandler.h.

Constructor & Destructor Documentation

◆ AppleObjCVTables()

◆ ~AppleObjCVTables()

AppleObjCTrampolineHandler::AppleObjCVTables::~AppleObjCVTables ( )

Member Function Documentation

◆ GetProcessSP()

lldb::ProcessSP lldb_private::AppleObjCTrampolineHandler::AppleObjCVTables::GetProcessSP ( )
inline

◆ InitializeVTableSymbols()

◆ IsAddressInVTables()

bool AppleObjCTrampolineHandler::AppleObjCVTables::IsAddressInVTables ( lldb::addr_t addr,
uint32_t & flags )

Definition at line 502 of file AppleObjCTrampolineHandler.cpp.

References m_regions.

◆ ReadRegions() [1/2]

bool AppleObjCTrampolineHandler::AppleObjCVTables::ReadRegions ( )

◆ ReadRegions() [2/2]

bool AppleObjCTrampolineHandler::AppleObjCVTables::ReadRegions ( lldb::addr_t region_addr)

◆ RefreshTrampolines()

Member Data Documentation

◆ m_objc_module_sp

lldb::ModuleSP lldb_private::AppleObjCTrampolineHandler::AppleObjCVTables::m_objc_module_sp
private

Definition at line 144 of file AppleObjCTrampolineHandler.h.

Referenced by AppleObjCVTables(), and InitializeVTableSymbols().

◆ m_process_wp

lldb::ProcessWP lldb_private::AppleObjCTrampolineHandler::AppleObjCVTables::m_process_wp
private

Definition at line 139 of file AppleObjCTrampolineHandler.h.

Referenced by AppleObjCVTables(), and GetProcessSP().

◆ m_regions

region_collection lldb_private::AppleObjCTrampolineHandler::AppleObjCVTables::m_regions
private

Definition at line 143 of file AppleObjCTrampolineHandler.h.

Referenced by IsAddressInVTables(), ReadRegions(), and ReadRegions().

◆ m_trampoline_header

lldb::addr_t lldb_private::AppleObjCTrampolineHandler::AppleObjCVTables::m_trampoline_header
private

◆ m_trampolines_changed_bp_id

lldb::break_id_t lldb_private::AppleObjCTrampolineHandler::AppleObjCVTables::m_trampolines_changed_bp_id
private

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