mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-25 13:24:46 +00:00
Simplify the handling of iterators in ObjectFile.
None of the object file formats reported error on iterator increment. In retrospect, that is not too surprising: no object format stores symbols or sections in a linked list or other structure that requires chasing pointers. As a consequence, all error checking can be done on begin() and end(). This reduces the text segment of bin/llvm-readobj in my machine from 521233 to 518526 bytes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200442 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -271,8 +271,7 @@ private:
|
||||
error_code initExportTablePtr();
|
||||
|
||||
protected:
|
||||
error_code getSymbolNext(DataRefImpl Symb, SymbolRef &Res) const
|
||||
LLVM_OVERRIDE;
|
||||
void moveSymbolNext(DataRefImpl &Symb) const LLVM_OVERRIDE;
|
||||
error_code getSymbolName(DataRefImpl Symb, StringRef &Res) const
|
||||
LLVM_OVERRIDE;
|
||||
error_code getSymbolAddress(DataRefImpl Symb, uint64_t &Res) const
|
||||
@@ -288,8 +287,7 @@ protected:
|
||||
LLVM_OVERRIDE;
|
||||
error_code getSymbolValue(DataRefImpl Symb, uint64_t &Val) const
|
||||
LLVM_OVERRIDE;
|
||||
error_code getSectionNext(DataRefImpl Sec, SectionRef &Res) const
|
||||
LLVM_OVERRIDE;
|
||||
void moveSectionNext(DataRefImpl &Sec) const LLVM_OVERRIDE;
|
||||
error_code getSectionName(DataRefImpl Sec, StringRef &Res) const
|
||||
LLVM_OVERRIDE;
|
||||
error_code getSectionAddress(DataRefImpl Sec, uint64_t &Res) const
|
||||
@@ -313,8 +311,7 @@ protected:
|
||||
relocation_iterator section_rel_begin(DataRefImpl Sec) const LLVM_OVERRIDE;
|
||||
relocation_iterator section_rel_end(DataRefImpl Sec) const LLVM_OVERRIDE;
|
||||
|
||||
error_code getRelocationNext(DataRefImpl Rel, RelocationRef &Res) const
|
||||
LLVM_OVERRIDE;
|
||||
void moveRelocationNext(DataRefImpl &Rel) const LLVM_OVERRIDE;
|
||||
error_code getRelocationAddress(DataRefImpl Rel, uint64_t &Res) const
|
||||
LLVM_OVERRIDE;
|
||||
error_code getRelocationOffset(DataRefImpl Rel, uint64_t &Res) const
|
||||
@@ -397,7 +394,7 @@ public:
|
||||
: ImportTable(Table), Index(I), OwningObject(Owner) {}
|
||||
|
||||
bool operator==(const ImportDirectoryEntryRef &Other) const;
|
||||
error_code getNext(ImportDirectoryEntryRef &Result) const;
|
||||
void moveNext();
|
||||
error_code getName(StringRef &Result) const;
|
||||
|
||||
error_code
|
||||
@@ -421,7 +418,7 @@ public:
|
||||
: ExportTable(Table), Index(I), OwningObject(Owner) {}
|
||||
|
||||
bool operator==(const ExportDirectoryEntryRef &Other) const;
|
||||
error_code getNext(ExportDirectoryEntryRef &Result) const;
|
||||
void moveNext();
|
||||
|
||||
error_code getDllName(StringRef &Result) const;
|
||||
error_code getOrdinalBase(uint32_t &Result) const;
|
||||
|
Reference in New Issue
Block a user