LLDB  mainline
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
EHProgramBuilder Class Reference
Collaboration diagram for EHProgramBuilder:
Collaboration graph
[legend]

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 125 of file PECallFrameInfo.cpp.

Constructor & Destructor Documentation

◆ EHProgramBuilder()

EHProgramBuilder::EHProgramBuilder ( ObjectFilePECOFF object_file,
uint32_t  unwind_info_rva 
)

Definition at line 148 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 303 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 131 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 312 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 145 of file PECallFrameInfo.cpp.

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


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