class XCOFFTracebackTable

Declaration

class XCOFFTracebackTable { /* full declaration omitted */ };

Description

This class provides methods to extract traceback table data from a buffer. The various accessors may reference the buffer provided via the constructor.

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:762

Member Variables

private const uint8_t* const TBPtr
private Optional<SmallString<32>> ParmsType
private Optional<uint32_t> TraceBackTableOffset
private Optional<uint32_t> HandlerMask
private Optional<uint32_t> NumOfCtlAnchors
private Optional<SmallVector<uint32_t, 8>> ControlledStorageInfoDisp
private Optional<llvm::StringRef> FunctionName
private Optional<uint8_t> AllocaRegister
private Optional<llvm::object::TBVectorExt> VecExt
private Optional<uint8_t> ExtensionTable

Method Overview

Methods

XCOFFTracebackTable(const uint8_t* Ptr,
                    uint64_t& Size,
                    llvm::Error& Err)

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:774

Parameters

const uint8_t* Ptr
uint64_t& Size
llvm::Error& Err

static Expected<llvm::object::XCOFFTracebackTable>
create(const uint8_t* Ptr, uint64_t& Size)

Description

Parse an XCOFF Traceback Table from \a Ptr with \a Size bytes. Returns an XCOFFTracebackTable upon successful parsing, otherwise an Error is returned.

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:790

Parameters

const uint8_t* Ptr
A pointer that points just past the initial 4 bytes of zeros at the beginning of an XCOFF Traceback Table.
uint64_t& Size
A pointer that points to the length of the XCOFF Traceback Table. If the XCOFF Traceback Table is not parsed successfully or there are extra bytes that are not recognized, \a Size will be updated to be the size up to the end of the last successfully parsed field of the table.

const Optional<uint8_t>& getAllocaRegister() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:834

const Optional<SmallVector<uint32_t, 8>>&
getControlledStorageInfoDisp()

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:830

const Optional<uint8_t>& getExtensionTable() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:836

const Optional<llvm::StringRef>& getFunctionName()
    const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:833

const Optional<uint32_t>& getHandlerMask() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:828

uint8_t getLanguageID() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:793

const Optional<uint32_t>& getNumOfCtlAnchors()

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:829

uint8_t getNumOfFPRsSaved() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:813

uint8_t getNumOfGPRsSaved() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:817

uint8_t getNumberOfFPParms() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:821

uint8_t getNumberOfFixedParms() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:819

uint8_t getOnConditionDirective() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:807

const Optional<SmallString<32>>& getParmsType()
    const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:824

const Optional<uint32_t>&
getTraceBackTableOffset() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:825

const Optional<llvm::object::TBVectorExt>&
getVectorExt() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:835

uint8_t getVersion() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:792

bool hasControlledStorage() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:799

bool hasExtensionTable() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:816

bool hasParmsOnStack() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:822

bool hasTraceBackTableOffset() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:797

bool hasVectorInfo() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:815

bool isAllocaUsed() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:806

bool isBackChainStored() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:811

bool isCRSaved() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:808

bool isFixup() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:812

bool isFloatingPointOperationLogOrAbortEnabled()
    const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:802

bool isFloatingPointPresent() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:801

bool isFuncNamePresent() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:805

bool isGlobalLinkage() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:795

bool isInternalProcedure() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:798

bool isInterruptHandler() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:804

bool isLRSaved() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:809

bool isOutOfLineEpilogOrPrologue() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:796

bool isTOCless() const

Declared at: llvm/include/llvm/Object/XCOFFObjectFile.h:800