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

Public Member Functions

 EHProgramBuilder (ObjectFilePECOFF &object_file, uint32_t unwind_info_rva)
 
bool Build ()
 
const EHProgramGetProgram () const
 

Private Member Functions

bool ProcessUnwindCode (UnwindCode code)
 
void Finalize ()
 
bool ParseBigOrScaledFrameOffset (uint32_t &result, bool big, uint32_t scale)
 
bool ParseBigFrameOffset (uint32_t &result)
 
bool ParseFrameOffset (uint32_t &result)
 

Static Private Member Functions

static uint32_t ConvertMachineToLLDBRegister (uint8_t machine_reg)
 
static uint32_t ConvertXMMToLLDBRegister (uint8_t xmm_reg)
 

Private Attributes

UnwindCodesIterator m_iterator
 
EHProgram m_program
 

Detailed Description

Definition at line 123 of file PECallFrameInfo.cpp.

Constructor & Destructor Documentation

◆ EHProgramBuilder()

EHProgramBuilder::EHProgramBuilder ( ObjectFilePECOFF object_file,
uint32_t  unwind_info_rva 
)

Definition at line 146 of file PECallFrameInfo.cpp.

Member Function Documentation

◆ Build()

bool EHProgramBuilder::Build ( )

◆ ConvertMachineToLLDBRegister()

uint32_t EHProgramBuilder::ConvertMachineToLLDBRegister ( uint8_t  machine_reg)
staticprivate

◆ ConvertXMMToLLDBRegister()

uint32_t EHProgramBuilder::ConvertXMMToLLDBRegister ( uint8_t  xmm_reg)
staticprivate

◆ Finalize()

void EHProgramBuilder::Finalize ( )
private

Definition at line 301 of file PECallFrameInfo.cpp.

References lldb_private::lldb_rip_x86_64, m_program, and EHInstruction::PUSH_REGISTER.

Referenced by Build().

◆ GetProgram()

const EHProgram & EHProgramBuilder::GetProgram ( ) const
inline

Definition at line 129 of file PECallFrameInfo.cpp.

References m_program.

Referenced by PECallFrameInfo::GetUnwindPlan().

◆ ParseBigFrameOffset()

bool EHProgramBuilder::ParseBigFrameOffset ( uint32_t &  result)
private

◆ ParseBigOrScaledFrameOffset()

bool EHProgramBuilder::ParseBigOrScaledFrameOffset ( uint32_t &  result,
bool  big,
uint32_t  scale 
)
private

Definition at line 310 of file PECallFrameInfo.cpp.

References ParseBigFrameOffset(), and ParseFrameOffset().

Referenced by ProcessUnwindCode().

◆ ParseFrameOffset()

bool EHProgramBuilder::ParseFrameOffset ( uint32_t &  result)
private

◆ ProcessUnwindCode()

bool EHProgramBuilder::ProcessUnwindCode ( UnwindCode  code)
private

Member Data Documentation

◆ m_iterator

UnwindCodesIterator EHProgramBuilder::m_iterator
private

◆ m_program

EHProgram EHProgramBuilder::m_program
private

Definition at line 143 of file PECallFrameInfo.cpp.

Referenced by Finalize(), GetProgram(), and ProcessUnwindCode().


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