LLVM 19.0.0git
Public Member Functions | Public Attributes | List of all members
llvm::ARM::WinEH::RuntimeFunction Class Reference

RuntimeFunction - An entry in the table of procedure data (.pdata) More...

#include "llvm/Support/ARMWinEH.h"

Public Member Functions

 RuntimeFunction (const support::ulittle32_t *Data)
 
 RuntimeFunction (const support::ulittle32_t BeginAddress, const support::ulittle32_t UnwindData)
 
RuntimeFunctionFlag Flag () const
 
uint32_t ExceptionInformationRVA () const
 
uint32_t PackedUnwindData () const
 
uint32_t FunctionLength () const
 
ReturnType Ret () const
 
bool H () const
 
uint8_t Reg () const
 
bool R () const
 
bool L () const
 
bool C () const
 
uint16_t StackAdjust () const
 

Public Attributes

const support::ulittle32_t BeginAddress
 
const support::ulittle32_t UnwindData
 

Detailed Description

RuntimeFunction - An entry in the table of procedure data (.pdata)

This is ARM specific, but the Function Start RVA, Flag and ExceptionInformationRVA fields work identically for ARM64.

3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 +------------------------------------------------------------—+ | Function Start RVA | +----------------—+-+-+-+--—+-+—+------------------—+—+ | Stack Adjust |C|L|R| Reg |H|Ret| Function Length |Flg| +----------------—+-+-+-+--—+-+—+------------------—+—+

Flag : 2-bit field with the following meanings:

RESTRICTIONS:

Definition at line 103 of file ARMWinEH.h.

Constructor & Destructor Documentation

◆ RuntimeFunction() [1/2]

llvm::ARM::WinEH::RuntimeFunction::RuntimeFunction ( const support::ulittle32_t Data)
inline

Definition at line 108 of file ARMWinEH.h.

◆ RuntimeFunction() [2/2]

llvm::ARM::WinEH::RuntimeFunction::RuntimeFunction ( const support::ulittle32_t  BeginAddress,
const support::ulittle32_t  UnwindData 
)
inline

Definition at line 111 of file ARMWinEH.h.

Member Function Documentation

◆ C()

bool llvm::ARM::WinEH::RuntimeFunction::C ( ) const
inline

◆ ExceptionInformationRVA()

uint32_t llvm::ARM::WinEH::RuntimeFunction::ExceptionInformationRVA ( ) const
inline

Definition at line 119 of file ARMWinEH.h.

References assert(), Flag(), llvm::ARM::WinEH::RFF_Unpacked, and UnwindData.

◆ Flag()

RuntimeFunctionFlag llvm::ARM::WinEH::RuntimeFunction::Flag ( ) const
inline

Definition at line 115 of file ARMWinEH.h.

References UnwindData.

Referenced by C(), ExceptionInformationRVA(), FunctionLength(), H(), L(), PackedUnwindData(), R(), Reg(), Ret(), and StackAdjust().

◆ FunctionLength()

uint32_t llvm::ARM::WinEH::RuntimeFunction::FunctionLength ( ) const
inline

◆ H()

bool llvm::ARM::WinEH::RuntimeFunction::H ( ) const
inline

◆ L()

bool llvm::ARM::WinEH::RuntimeFunction::L ( ) const
inline

◆ PackedUnwindData()

uint32_t llvm::ARM::WinEH::RuntimeFunction::PackedUnwindData ( ) const
inline

◆ R()

bool llvm::ARM::WinEH::RuntimeFunction::R ( ) const
inline

◆ Reg()

uint8_t llvm::ARM::WinEH::RuntimeFunction::Reg ( ) const
inline

◆ Ret()

ReturnType llvm::ARM::WinEH::RuntimeFunction::Ret ( ) const
inline

◆ StackAdjust()

uint16_t llvm::ARM::WinEH::RuntimeFunction::StackAdjust ( ) const
inline

Member Data Documentation

◆ BeginAddress

const support::ulittle32_t llvm::ARM::WinEH::RuntimeFunction::BeginAddress

Definition at line 105 of file ARMWinEH.h.

◆ UnwindData

const support::ulittle32_t llvm::ARM::WinEH::RuntimeFunction::UnwindData

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