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)

◆ ConvertXMMToLLDBRegister()

uint32_t EHProgramBuilder::ConvertXMMToLLDBRegister ( uint8_t  xmm_reg)

◆ Finalize()

void EHProgramBuilder::Finalize ( )

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

Definition at line 129 of file PECallFrameInfo.cpp.

References m_program.

Referenced by PECallFrameInfo::GetUnwindPlan().

◆ ParseBigFrameOffset()

bool EHProgramBuilder::ParseBigFrameOffset ( uint32_t &  result)

◆ ParseBigOrScaledFrameOffset()

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

Definition at line 310 of file PECallFrameInfo.cpp.

References ParseBigFrameOffset(), and ParseFrameOffset().

Referenced by ProcessUnwindCode().

◆ ParseFrameOffset()

bool EHProgramBuilder::ParseFrameOffset ( uint32_t &  result)

◆ ProcessUnwindCode()

bool EHProgramBuilder::ProcessUnwindCode ( UnwindCode  code)

Member Data Documentation

◆ m_iterator

UnwindCodesIterator EHProgramBuilder::m_iterator

◆ m_program

EHProgram EHProgramBuilder::m_program

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: