LLVM
8.0.1
|
This implements the Apple accelerator table format, a precursor of the DWARF 5 accelerator table format. More...
#include "llvm/DebugInfo/DWARF/DWARFAcceleratorTable.h"
Classes | |
class | Entry |
Apple-specific implementation of an Accelerator Entry. More... | |
class | ValueIterator |
Additional Inherited Members | |
Protected Attributes inherited from llvm::DWARFAcceleratorTable | |
DWARFDataExtractor | AccelSection |
DataExtractor | StringSection |
This implements the Apple accelerator table format, a precursor of the DWARF 5 accelerator table format.
Definition at line 84 of file DWARFAcceleratorTable.h.
|
inline |
Definition at line 174 of file DWARFAcceleratorTable.h.
References llvm::DWARFAcceleratorTable::dump(), and llvm::DWARFAcceleratorTable::extract().
|
overridevirtual |
Implements llvm::DWARFAcceleratorTable.
Definition at line 204 of file DWARFAcceleratorTable.cpp.
References llvm::DWARFAcceleratorTable::AccelSection, llvm::dwarf::DWARF32, for(), formatAtom(), llvm::formatv(), llvm::ScopedPrinter::printNumber(), llvm::ScopedPrinter::printString(), llvm::SmallVectorTemplateBase< T >::push_back(), llvm::ScopedPrinter::startLine(), llvm::Twine::utohexstr(), and llvm::RISCVFenceField::W.
Referenced by llvm::DWARFContext::dump(), and llvm::DWARFDebugNames::Entry::dump().
iterator_range< AppleAcceleratorTable::ValueIterator > AppleAcceleratorTable::equal_range | ( | StringRef | Key | ) | const |
Look up all entries in the accelerator table matching Key
.
Definition at line 330 of file DWARFAcceleratorTable.cpp.
References llvm::DWARFAcceleratorTable::AccelSection, llvm::djbHash(), llvm::DataExtractor::getCStr(), llvm::DWARFDataExtractor::getRelocatedValue(), llvm::DataExtractor::getU32(), llvm::make_range(), llvm::DWARFAcceleratorTable::StringSection, and llvm::AppleAcceleratorTable::ValueIterator::ValueIterator().
|
overridevirtual |
Implements llvm::DWARFAcceleratorTable.
Definition at line 45 of file DWARFAcceleratorTable.cpp.
References llvm::createStringError(), llvm::illegal_byte_sequence, offsetof, and llvm::Error::success().
ArrayRef< std::pair< AppleAcceleratorTable::HeaderData::AtomType, AppleAcceleratorTable::HeaderData::Form > > AppleAcceleratorTable::getAtomsDesc | ( | ) |
Return the Atom description, which can be used to interpret the raw values of the Accelerator Entries in this table.
Definition at line 92 of file DWARFAcceleratorTable.cpp.
uint32_t AppleAcceleratorTable::getHeaderDataLength | ( | ) |
Definition at line 86 of file DWARFAcceleratorTable.cpp.
uint32_t AppleAcceleratorTable::getNumBuckets | ( | ) |
Definition at line 83 of file DWARFAcceleratorTable.cpp.
uint32_t AppleAcceleratorTable::getNumHashes | ( | ) |
Definition at line 84 of file DWARFAcceleratorTable.cpp.
uint32_t AppleAcceleratorTable::getSizeHdr | ( | ) |
Definition at line 85 of file DWARFAcceleratorTable.cpp.
std::pair< uint32_t, dwarf::Tag > AppleAcceleratorTable::readAtoms | ( | uint32_t & | HashDataOffset | ) |
Return information related to the DWARF DIE we're looking for when performing a lookup by name.
HashDataOffset | an offset into the hash data table |
Definition at line 116 of file DWARFAcceleratorTable.cpp.
References llvm::dwarf::AtomValueString(), llvm::Data, dump(), llvm::dwarf::DW_ATOM_die_offset, llvm::dwarf::DW_ATOM_die_tag, llvm::dwarf::DW_INVALID_OFFSET, llvm::dwarf::DWARF32, llvm::StringRef::empty(), llvm::DWARFFormValue::extractValue(), llvm::format(), llvm::DWARFFormValue::getAsSectionOffset(), llvm::DWARFFormValue::getAsUnsignedConstant(), llvm::DWARFFormValue::getForm(), llvm::ScopedPrinter::getOStream(), llvm::DWARFFormValue::getRawUValue(), Magic, llvm::None, llvm::ScopedPrinter::printHex(), llvm::ScopedPrinter::printNumber(), llvm::ScopedPrinter::printString(), llvm::ScopedPrinter::startLine(), llvm::Twine::utohexstr(), llvm::dwarf::FormParams::Version, llvm::IndexedInstrProf::Version, and llvm::RISCVFenceField::W.
bool AppleAcceleratorTable::validateForms | ( | ) |
Definition at line 96 of file DWARFAcceleratorTable.cpp.
References llvm::dwarf::DW_ATOM_die_offset, llvm::dwarf::DW_ATOM_die_tag, llvm::dwarf::DW_ATOM_type_flags, llvm::DWARFFormValue::FC_Constant, llvm::DWARFFormValue::FC_Flag, llvm::DWARFFormValue::getForm(), and llvm::DWARFFormValue::isFormClass().