LLVM 20.0.0git
|
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 |
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.
|
inline |
Definition at line 108 of file ARMWinEH.h.
|
inline |
Definition at line 111 of file ARMWinEH.h.
|
inline |
Definition at line 168 of file ARMWinEH.h.
References assert(), Flag(), L(), R(), Reg(), llvm::ARM::WinEH::RFF_Packed, llvm::ARM::WinEH::RFF_PackedFragment, and UnwindData.
Referenced by llvm::ARM::WinEH::SavedRegisterMask().
|
inline |
Definition at line 119 of file ARMWinEH.h.
References assert(), Flag(), llvm::ARM::WinEH::RFF_Unpacked, and UnwindData.
|
inline |
Definition at line 115 of file ARMWinEH.h.
References UnwindData.
Referenced by C(), ExceptionInformationRVA(), FunctionLength(), H(), L(), PackedUnwindData(), R(), Reg(), Ret(), and StackAdjust().
|
inline |
Definition at line 131 of file ARMWinEH.h.
References assert(), Flag(), llvm::ARM::WinEH::RFF_Packed, llvm::ARM::WinEH::RFF_PackedFragment, and UnwindData.
|
inline |
Definition at line 144 of file ARMWinEH.h.
References assert(), Flag(), llvm::ARM::WinEH::RFF_Packed, llvm::ARM::WinEH::RFF_PackedFragment, and UnwindData.
Referenced by llvm::ARM::WinEH::SavedRegisterMask().
|
inline |
Definition at line 162 of file ARMWinEH.h.
References assert(), Flag(), llvm::ARM::WinEH::RFF_Packed, llvm::ARM::WinEH::RFF_PackedFragment, and UnwindData.
Referenced by C(), Ret(), and llvm::ARM::WinEH::SavedRegisterMask().
|
inline |
Definition at line 125 of file ARMWinEH.h.
References assert(), Flag(), llvm::ARM::WinEH::RFF_Packed, llvm::ARM::WinEH::RFF_PackedFragment, and UnwindData.
|
inline |
Definition at line 156 of file ARMWinEH.h.
References assert(), Flag(), llvm::ARM::WinEH::RFF_Packed, llvm::ARM::WinEH::RFF_PackedFragment, and UnwindData.
Referenced by C(), and llvm::ARM::WinEH::SavedRegisterMask().
|
inline |
Definition at line 150 of file ARMWinEH.h.
References assert(), Flag(), llvm::ARM::WinEH::RFF_Packed, llvm::ARM::WinEH::RFF_PackedFragment, and UnwindData.
Referenced by C(), and llvm::ARM::WinEH::SavedRegisterMask().
|
inline |
Definition at line 137 of file ARMWinEH.h.
References assert(), Flag(), L(), llvm::ARM::WinEH::RFF_Packed, llvm::ARM::WinEH::RFF_PackedFragment, and UnwindData.
Referenced by llvm::ARM::WinEH::SavedRegisterMask().
|
inline |
Definition at line 178 of file ARMWinEH.h.
References assert(), Flag(), llvm::ARM::WinEH::RFF_Packed, llvm::ARM::WinEH::RFF_PackedFragment, and UnwindData.
Referenced by llvm::ARM::WinEH::EpilogueFolding(), llvm::ARM::WinEH::PrologueFolding(), llvm::ARM::WinEH::SavedRegisterMask(), and llvm::ARM::WinEH::StackAdjustment().
const support::ulittle32_t llvm::ARM::WinEH::RuntimeFunction::BeginAddress |
Definition at line 105 of file ARMWinEH.h.
const support::ulittle32_t llvm::ARM::WinEH::RuntimeFunction::UnwindData |
Definition at line 106 of file ARMWinEH.h.
Referenced by C(), ExceptionInformationRVA(), Flag(), FunctionLength(), H(), L(), PackedUnwindData(), R(), Reg(), Ret(), and StackAdjust().