LLVM 22.0.0git
llvm::object::SFrameParser< E > Class Template Reference

#include "llvm/Object/SFrameParser.h"

Classes

class  FallibleFREIterator
struct  FrameRowEntry

Public Types

using FDERange = ArrayRef<sframe::FuncDescEntry<E>>
using fre_iterator = fallible_iterator<FallibleFREIterator>

Public Member Functions

const sframe::Preamble< E > & getPreamble () const
const sframe::Header< E > & getHeader () const
Expected< ArrayRef< uint8_t > > getAuxHeader () const
bool usesFixedRAOffset () const
bool usesFixedFPOffset () const
Expected< FDERangefdes () const
uint64_t getAbsoluteStartAddress (typename FDERange::iterator FDE) const
uint64_t offsetOf (typename FDERange::iterator FDE) const
iterator_range< fre_iteratorfres (const sframe::FuncDescEntry< E > &FDE, Error &Err) const
std::optional< int32_t > getCFAOffset (const FrameRowEntry &FRE) const
std::optional< int32_t > getRAOffset (const FrameRowEntry &FRE) const
std::optional< int32_t > getFPOffset (const FrameRowEntry &FRE) const
ArrayRef< int32_t > getExtraOffsets (const FrameRowEntry &FRE) const

Static Public Member Functions

static Expected< SFrameParsercreate (ArrayRef< uint8_t > Contents, uint64_t SectionAddress)

Detailed Description

template<endianness E>
class llvm::object::SFrameParser< E >

Definition at line 22 of file SFrameParser.h.

Member Typedef Documentation

◆ FDERange

Definition at line 41 of file SFrameParser.h.

◆ fre_iterator

Definition at line 58 of file SFrameParser.h.

Member Function Documentation

◆ create()

template<endianness E>
Expected< SFrameParser< E > > SFrameParser::create ( ArrayRef< uint8_t > Contents,
uint64_t SectionAddress )
static

◆ fdes()

template<endianness E>
Expected< ArrayRef< sframe::FuncDescEntry< E > > > SFrameParser::fdes ( ) const

Definition at line 85 of file SFrameParser.cpp.

References llvm::ArrayRef(), and getDataSlice().

◆ fres()

◆ getAbsoluteStartAddress()

template<endianness E>
uint64_t SFrameParser::getAbsoluteStartAddress ( typename FDERange::iterator FDE) const

Definition at line 96 of file SFrameParser.cpp.

References getPreamble(), and offsetOf().

◆ getAuxHeader()

template<endianness E>
Expected< ArrayRef< uint8_t > > SFrameParser::getAuxHeader ( ) const

Definition at line 80 of file SFrameParser.cpp.

References getDataSlice().

◆ getCFAOffset()

template<endianness E>
std::optional< int32_t > SFrameParser::getCFAOffset ( const FrameRowEntry & FRE) const

Definition at line 198 of file SFrameParser.cpp.

References llvm::getOffset().

◆ getExtraOffsets()

template<endianness E>
ArrayRef< int32_t > SFrameParser::getExtraOffsets ( const FrameRowEntry & FRE) const

Definition at line 220 of file SFrameParser.cpp.

References llvm::ArrayRef(), usesFixedFPOffset(), and usesFixedRAOffset().

◆ getFPOffset()

template<endianness E>
std::optional< int32_t > SFrameParser::getFPOffset ( const FrameRowEntry & FRE) const

Definition at line 212 of file SFrameParser.cpp.

References llvm::getOffset(), usesFixedFPOffset(), and usesFixedRAOffset().

◆ getHeader()

template<endianness E>
const sframe::Header< E > & llvm::object::SFrameParser< E >::getHeader ( ) const
inline

Definition at line 30 of file SFrameParser.h.

Referenced by usesFixedRAOffset().

◆ getPreamble()

template<endianness E>
const sframe::Preamble< E > & llvm::object::SFrameParser< E >::getPreamble ( ) const
inline

Definition at line 29 of file SFrameParser.h.

Referenced by getAbsoluteStartAddress().

◆ getRAOffset()

template<endianness E>
std::optional< int32_t > SFrameParser::getRAOffset ( const FrameRowEntry & FRE) const

Definition at line 204 of file SFrameParser.cpp.

References llvm::getOffset(), and usesFixedRAOffset().

◆ offsetOf()

template<endianness E>
uint64_t SFrameParser::offsetOf ( typename FDERange::iterator FDE) const

Definition at line 108 of file SFrameParser.cpp.

References assert().

Referenced by getAbsoluteStartAddress().

◆ usesFixedFPOffset()

template<endianness E>
bool llvm::object::SFrameParser< E >::usesFixedFPOffset ( ) const
inline

Definition at line 37 of file SFrameParser.h.

Referenced by getExtraOffsets(), and getFPOffset().

◆ usesFixedRAOffset()

template<endianness E>
bool llvm::object::SFrameParser< E >::usesFixedRAOffset ( ) const
inline

Definition at line 34 of file SFrameParser.h.

References getHeader().

Referenced by getExtraOffsets(), getFPOffset(), and getRAOffset().


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