Rename DwarfAcceleratorTable to AppleAcceleratorTable. NFC

This frees up the first name to be used as an base class for the
apple table and the dwarf5 .debug_names accel table. The rename  was
split off from D42297 (adding of debug_names support), which is still
under review.

llvm-svn: 323113
This commit is contained in:
Pavel Labath 2018-01-22 13:17:23 +00:00
parent 62dbdf1790
commit 9b36fd2541
7 changed files with 47 additions and 47 deletions

View File

@ -24,7 +24,7 @@ class raw_ostream;
/// This implements the Apple accelerator table format, a precursor of the
/// DWARF 5 accelerator table format.
/// TODO: Factor out a common base class for both formats.
class DWARFAcceleratorTable {
class AppleAcceleratorTable {
struct Header {
uint32_t Magic;
uint16_t Version;
@ -53,7 +53,7 @@ public:
/// multiple DWARFFormValues.
class ValueIterator : public std::iterator<std::input_iterator_tag,
ArrayRef<DWARFFormValue>> {
const DWARFAcceleratorTable *AccelTable = nullptr;
const AppleAcceleratorTable *AccelTable = nullptr;
SmallVector<DWARFFormValue, 3> AtomForms; ///< The decoded data entry.
unsigned DataOffset = 0; ///< Offset into the section.
@ -64,7 +64,7 @@ public:
void Next();
public:
/// Construct a new iterator for the entries at \p DataOffset.
ValueIterator(const DWARFAcceleratorTable &AccelTable, unsigned DataOffset);
ValueIterator(const AppleAcceleratorTable &AccelTable, unsigned DataOffset);
/// End marker.
ValueIterator() = default;
@ -86,7 +86,7 @@ public:
};
DWARFAcceleratorTable(const DWARFDataExtractor &AccelSection,
AppleAcceleratorTable(const DWARFDataExtractor &AccelSection,
DataExtractor StringSection)
: AccelSection(AccelSection), StringSection(StringSection) {}

View File

@ -69,10 +69,10 @@ class DWARFContext : public DIContext {
std::unique_ptr<DWARFDebugFrame> DebugFrame;
std::unique_ptr<DWARFDebugFrame> EHFrame;
std::unique_ptr<DWARFDebugMacro> Macro;
std::unique_ptr<DWARFAcceleratorTable> AppleNames;
std::unique_ptr<DWARFAcceleratorTable> AppleTypes;
std::unique_ptr<DWARFAcceleratorTable> AppleNamespaces;
std::unique_ptr<DWARFAcceleratorTable> AppleObjC;
std::unique_ptr<AppleAcceleratorTable> AppleNames;
std::unique_ptr<AppleAcceleratorTable> AppleTypes;
std::unique_ptr<AppleAcceleratorTable> AppleNamespaces;
std::unique_ptr<AppleAcceleratorTable> AppleObjC;
DWARFUnitSection<DWARFCompileUnit> DWOCUs;
std::deque<DWARFUnitSection<DWARFTypeUnit>> DWOTUs;
@ -243,16 +243,16 @@ public:
const DWARFDebugMacro *getDebugMacro();
/// Get a reference to the parsed accelerator table object.
const DWARFAcceleratorTable &getAppleNames();
const AppleAcceleratorTable &getAppleNames();
/// Get a reference to the parsed accelerator table object.
const DWARFAcceleratorTable &getAppleTypes();
const AppleAcceleratorTable &getAppleTypes();
/// Get a reference to the parsed accelerator table object.
const DWARFAcceleratorTable &getAppleNamespaces();
const AppleAcceleratorTable &getAppleNamespaces();
/// Get a reference to the parsed accelerator table object.
const DWARFAcceleratorTable &getAppleObjC();
const AppleAcceleratorTable &getAppleObjC();
/// Get a pointer to a parsed line table corresponding to a compile unit.
const DWARFDebugLine::LineTable *getLineTableForUnit(DWARFUnit *cu);

View File

@ -24,7 +24,6 @@ struct DWARFAttribute;
class DWARFContext;
class DWARFDie;
class DWARFUnit;
class DWARFAcceleratorTable;
class DWARFDataExtractor;
class DWARFDebugAbbrev;
class DataExtractor;
@ -229,8 +228,9 @@ private:
/// \param SectionName the name of the table we're verifying
///
/// \returns The number of errors occured during verification
unsigned verifyAccelTable(const DWARFSection *AccelSection,
DataExtractor *StrData, const char *SectionName);
unsigned verifyAppleAccelTable(const DWARFSection *AccelSection,
DataExtractor *StrData,
const char *SectionName);
public:
DWARFVerifier(raw_ostream &S, DWARFContext &D,

View File

@ -21,7 +21,7 @@
using namespace llvm;
llvm::Error DWARFAcceleratorTable::extract() {
llvm::Error AppleAcceleratorTable::extract() {
uint32_t Offset = 0;
// Check that we can at least read the header.
@ -59,20 +59,20 @@ llvm::Error DWARFAcceleratorTable::extract() {
return Error::success();
}
uint32_t DWARFAcceleratorTable::getNumBuckets() { return Hdr.NumBuckets; }
uint32_t DWARFAcceleratorTable::getNumHashes() { return Hdr.NumHashes; }
uint32_t DWARFAcceleratorTable::getSizeHdr() { return sizeof(Hdr); }
uint32_t DWARFAcceleratorTable::getHeaderDataLength() {
uint32_t AppleAcceleratorTable::getNumBuckets() { return Hdr.NumBuckets; }
uint32_t AppleAcceleratorTable::getNumHashes() { return Hdr.NumHashes; }
uint32_t AppleAcceleratorTable::getSizeHdr() { return sizeof(Hdr); }
uint32_t AppleAcceleratorTable::getHeaderDataLength() {
return Hdr.HeaderDataLength;
}
ArrayRef<std::pair<DWARFAcceleratorTable::HeaderData::AtomType,
DWARFAcceleratorTable::HeaderData::Form>>
DWARFAcceleratorTable::getAtomsDesc() {
ArrayRef<std::pair<AppleAcceleratorTable::HeaderData::AtomType,
AppleAcceleratorTable::HeaderData::Form>>
AppleAcceleratorTable::getAtomsDesc() {
return HdrData.Atoms;
}
bool DWARFAcceleratorTable::validateForms() {
bool AppleAcceleratorTable::validateForms() {
for (auto Atom : getAtomsDesc()) {
DWARFFormValue FormValue(Atom.second);
switch (Atom.first) {
@ -92,7 +92,7 @@ bool DWARFAcceleratorTable::validateForms() {
}
std::pair<uint32_t, dwarf::Tag>
DWARFAcceleratorTable::readAtoms(uint32_t &HashDataOffset) {
AppleAcceleratorTable::readAtoms(uint32_t &HashDataOffset) {
uint32_t DieOffset = dwarf::DW_INVALID_OFFSET;
dwarf::Tag DieTag = dwarf::DW_TAG_null;
DWARFFormParams FormParams = {Hdr.Version, 0, dwarf::DwarfFormat::DWARF32};
@ -114,7 +114,7 @@ DWARFAcceleratorTable::readAtoms(uint32_t &HashDataOffset) {
return {DieOffset, DieTag};
}
LLVM_DUMP_METHOD void DWARFAcceleratorTable::dump(raw_ostream &OS) const {
LLVM_DUMP_METHOD void AppleAcceleratorTable::dump(raw_ostream &OS) const {
if (!IsValid)
return;
@ -201,8 +201,8 @@ LLVM_DUMP_METHOD void DWARFAcceleratorTable::dump(raw_ostream &OS) const {
}
}
DWARFAcceleratorTable::ValueIterator::ValueIterator(
const DWARFAcceleratorTable &AccelTable, unsigned Offset)
AppleAcceleratorTable::ValueIterator::ValueIterator(
const AppleAcceleratorTable &AccelTable, unsigned Offset)
: AccelTable(&AccelTable), DataOffset(Offset) {
if (!AccelTable.AccelSection.isValidOffsetForDataOfSize(DataOffset, 4))
return;
@ -215,7 +215,7 @@ DWARFAcceleratorTable::ValueIterator::ValueIterator(
Next();
}
void DWARFAcceleratorTable::ValueIterator::Next() {
void AppleAcceleratorTable::ValueIterator::Next() {
assert(NumData > 0 && "attempted to increment iterator past the end");
auto &AccelSection = AccelTable->AccelSection;
if (Data >= NumData ||
@ -230,8 +230,8 @@ void DWARFAcceleratorTable::ValueIterator::Next() {
++Data;
}
iterator_range<DWARFAcceleratorTable::ValueIterator>
DWARFAcceleratorTable::equal_range(StringRef Key) const {
iterator_range<AppleAcceleratorTable::ValueIterator>
AppleAcceleratorTable::equal_range(StringRef Key) const {
if (!IsValid)
return make_range(ValueIterator(), ValueIterator());

View File

@ -703,37 +703,37 @@ const DWARFDebugMacro *DWARFContext::getDebugMacro() {
return Macro.get();
}
static DWARFAcceleratorTable &
getAccelTable(std::unique_ptr<DWARFAcceleratorTable> &Cache,
static AppleAcceleratorTable &
getAccelTable(std::unique_ptr<AppleAcceleratorTable> &Cache,
const DWARFObject &Obj, const DWARFSection &Section,
StringRef StringSection, bool IsLittleEndian) {
if (Cache)
return *Cache;
DWARFDataExtractor AccelSection(Obj, Section, IsLittleEndian, 0);
DataExtractor StrData(StringSection, IsLittleEndian, 0);
Cache.reset(new DWARFAcceleratorTable(AccelSection, StrData));
Cache.reset(new AppleAcceleratorTable(AccelSection, StrData));
if (Error E = Cache->extract())
llvm::consumeError(std::move(E));
return *Cache;
}
const DWARFAcceleratorTable &DWARFContext::getAppleNames() {
const AppleAcceleratorTable &DWARFContext::getAppleNames() {
return getAccelTable(AppleNames, *DObj, DObj->getAppleNamesSection(),
DObj->getStringSection(), isLittleEndian());
}
const DWARFAcceleratorTable &DWARFContext::getAppleTypes() {
const AppleAcceleratorTable &DWARFContext::getAppleTypes() {
return getAccelTable(AppleTypes, *DObj, DObj->getAppleTypesSection(),
DObj->getStringSection(), isLittleEndian());
}
const DWARFAcceleratorTable &DWARFContext::getAppleNamespaces() {
const AppleAcceleratorTable &DWARFContext::getAppleNamespaces() {
return getAccelTable(AppleNamespaces, *DObj,
DObj->getAppleNamespacesSection(),
DObj->getStringSection(), isLittleEndian());
}
const DWARFAcceleratorTable &DWARFContext::getAppleObjC() {
const AppleAcceleratorTable &DWARFContext::getAppleObjC() {
return getAccelTable(AppleObjC, *DObj, DObj->getAppleObjCSection(),
DObj->getStringSection(), isLittleEndian());
}

View File

@ -669,13 +669,13 @@ bool DWARFVerifier::handleDebugLine() {
return NumDebugLineErrors == 0;
}
unsigned DWARFVerifier::verifyAccelTable(const DWARFSection *AccelSection,
unsigned DWARFVerifier::verifyAppleAccelTable(const DWARFSection *AccelSection,
DataExtractor *StrData,
const char *SectionName) {
unsigned NumErrors = 0;
DWARFDataExtractor AccelSectionData(DCtx.getDWARFObj(), *AccelSection,
DCtx.isLittleEndian(), 0);
DWARFAcceleratorTable AccelTable(AccelSectionData, *StrData);
AppleAcceleratorTable AccelTable(AccelSectionData, *StrData);
OS << "Verifying " << SectionName << "...\n";
@ -779,16 +779,16 @@ bool DWARFVerifier::handleAccelTables() {
unsigned NumErrors = 0;
if (!D.getAppleNamesSection().Data.empty())
NumErrors +=
verifyAccelTable(&D.getAppleNamesSection(), &StrData, ".apple_names");
verifyAppleAccelTable(&D.getAppleNamesSection(), &StrData, ".apple_names");
if (!D.getAppleTypesSection().Data.empty())
NumErrors +=
verifyAccelTable(&D.getAppleTypesSection(), &StrData, ".apple_types");
verifyAppleAccelTable(&D.getAppleTypesSection(), &StrData, ".apple_types");
if (!D.getAppleNamespacesSection().Data.empty())
NumErrors += verifyAccelTable(&D.getAppleNamespacesSection(), &StrData,
NumErrors += verifyAppleAccelTable(&D.getAppleNamespacesSection(), &StrData,
".apple_namespaces");
if (!D.getAppleObjCSection().Data.empty())
NumErrors +=
verifyAccelTable(&D.getAppleObjCSection(), &StrData, ".apple_objc");
verifyAppleAccelTable(&D.getAppleObjCSection(), &StrData, ".apple_objc");
return NumErrors == 0;
}

View File

@ -363,7 +363,7 @@ static bool dumpObjectFile(ObjectFile &Obj, DWARFContext &DICtx, Twine Filename,
if (!Find.empty()) {
DumpOffsets[DIDT_ID_DebugInfo] = [&]() -> llvm::Optional<uint64_t> {
for (auto Name : Find) {
auto find = [&](const DWARFAcceleratorTable &Accel)
auto find = [&](const AppleAcceleratorTable &Accel)
-> llvm::Optional<uint64_t> {
for (auto Entry : Accel.equal_range(Name))
for (auto Atom : Entry)