class AppleAcceleratorTable

Declaration

class AppleAcceleratorTable : public DWARFAcceleratorTable { /* full declaration omitted */ };

Description

This implements the Apple accelerator table format, a precursor of the DWARF 5 accelerator table format.

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h:83

Inherits from: DWARFAcceleratorTable

Member Variables

private struct Header Hdr
private struct HeaderData HdrData
private bool IsValid = false

Inherited from DWARFAcceleratorTable:

protected AccelSection
protected StringSection

Method Overview

  • public AppleAcceleratorTable(const llvm::DWARFDataExtractor & AccelSection, llvm::DataExtractor StringSection)
  • public void dump(llvm::raw_ostream & OS) const
  • private bool dumpName(llvm::ScopedPrinter & W, SmallVectorImpl<llvm::DWARFFormValue> & AtomForms, uint64_t * DataOffset) const
  • public iterator_range<llvm::AppleAcceleratorTable::ValueIterator> equal_range(llvm::StringRef Key) const
  • public llvm::Error extract()
  • public ArrayRef<std::pair<HeaderData::AtomType, HeaderData::Form>> getAtomsDesc()
  • public uint32_t getHeaderDataLength()
  • public uint32_t getNumBuckets()
  • public uint32_t getNumHashes()
  • public uint32_t getSizeHdr()
  • public std::pair<uint64_t, dwarf::Tag> readAtoms(uint64_t * HashDataOffset)
  • public bool validateForms()

Inherited from DWARFAcceleratorTable:

Methods

AppleAcceleratorTable(
    const llvm::DWARFDataExtractor& AccelSection,
    llvm::DataExtractor StringSection)

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h:180

Parameters

const llvm::DWARFDataExtractor& AccelSection
llvm::DataExtractor StringSection

void dump(llvm::raw_ostream& OS) const

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h:204

Parameters

llvm::raw_ostream& OS

bool dumpName(
    llvm::ScopedPrinter& W,
    SmallVectorImpl<llvm::DWARFFormValue>&
        AtomForms,
    uint64_t* DataOffset) const

Description

Returns true if we should continue scanning for entries or false if we've reached the last (sentinel) entry of encountered a parsing error.

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h:111

Parameters

llvm::ScopedPrinter& W
SmallVectorImpl<llvm::DWARFFormValue>& AtomForms
uint64_t* DataOffset

iterator_range<
    llvm::AppleAcceleratorTable::ValueIterator>
equal_range(llvm::StringRef Key) const

Description

Look up all entries in the accelerator table matching \c Key.

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h:207

Parameters

llvm::StringRef Key

llvm::Error extract()

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h:184

ArrayRef<std::pair<HeaderData::AtomType,
                   HeaderData::Form>>
getAtomsDesc()

Description

Return the Atom description, which can be used to interpret the raw values of the Accelerator Entries in this table.

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h:192

uint32_t getHeaderDataLength()

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h:188

uint32_t getNumBuckets()

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h:185

uint32_t getNumHashes()

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h:186

uint32_t getSizeHdr()

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h:187

std::pair<uint64_t, dwarf::Tag> readAtoms(
    uint64_t* HashDataOffset)

Description

Return information related to the DWARF DIE we're looking for when performing a lookup by name.

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h:203

Parameters

uint64_t* HashDataOffset
an offset into the hash data table

Returns

<DieOffset , DieTag> DieOffset is the offset into the .debug_info section for the DIE related to the input hash data offset. DieTag is the tag of the DIE

bool validateForms()

Declared at: llvm/include/llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h:193