LLVM 22.0.0git
|
CRTP base for compact unwind traits classes. More...
#include "ExecutionEngine/JITLink/CompactUnwindSupport.h"
Static Public Member Functions | |
static uint32_t | readPCRangeSize (ArrayRef< char > RecordContent) |
static uint32_t | readEncoding (ArrayRef< char > RecordContent) |
static std::optional< uint32_t > | encodeDWARFOffset (size_t Delta) |
Static Public Attributes | |
static constexpr size_t | PointerSize = PtrSize |
static constexpr size_t | Size = 3 * PointerSize + 2 * 4 |
static constexpr size_t | FnFieldOffset = 0 |
static constexpr size_t | SizeFieldOffset = FnFieldOffset + PointerSize |
static constexpr size_t | EncodingFieldOffset = SizeFieldOffset + 4 |
static constexpr size_t | PersonalityFieldOffset = EncodingFieldOffset + 4 |
static constexpr size_t | LSDAFieldOffset |
CRTP base for compact unwind traits classes.
Automatically provides derived constants.
FIXME: Passing PtrSize as a template parameter is a hack to work around a bug in older MSVC compilers (until at least MSVC 15) where constexpr fields in the CRTP impl class were not visible to the base class. Once we no longer need to support these compilers the PtrSize template argument should be removed and PointerSize should be defined as a member in the CRTP Impl classes.
Definition at line 41 of file CompactUnwindSupport.h.
|
inlinestatic |
Definition at line 65 of file CompactUnwindSupport.h.
|
inlinestatic |
Definition at line 58 of file CompactUnwindSupport.h.
References assert(), llvm::ArrayRef< T >::data(), llvm::jitlink::CompactUnwindTraits< CRTPImpl, PtrSize >::EncodingFieldOffset, and llvm::ArrayRef< T >::size().
|
inlinestatic |
Definition at line 51 of file CompactUnwindSupport.h.
References assert(), llvm::ArrayRef< T >::data(), llvm::ArrayRef< T >::size(), and llvm::jitlink::CompactUnwindTraits< CRTPImpl, PtrSize >::SizeFieldOffset.
|
staticconstexpr |
Definition at line 46 of file CompactUnwindSupport.h.
Referenced by llvm::jitlink::CompactUnwindTraits< CRTPImpl, PtrSize >::readEncoding().
|
staticconstexpr |
Definition at line 44 of file CompactUnwindSupport.h.
|
staticconstexpr |
Definition at line 48 of file CompactUnwindSupport.h.
|
staticconstexpr |
Definition at line 47 of file CompactUnwindSupport.h.
|
staticconstexpr |
Definition at line 42 of file CompactUnwindSupport.h.
|
staticconstexpr |
Definition at line 43 of file CompactUnwindSupport.h.
|
staticconstexpr |
Definition at line 45 of file CompactUnwindSupport.h.
Referenced by llvm::jitlink::CompactUnwindTraits< CRTPImpl, PtrSize >::readPCRangeSize().