Rather resolve range lists lazily. We need them for all functions, but there

are a lot more DIEs that have range lists.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31586 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold
2009-07-15 12:37:56 +00:00
parent 78888c44da
commit 3c33a74c01
8 changed files with 115 additions and 112 deletions
+6 -7
View File
@@ -151,12 +151,11 @@ public:
const DebugInfoEntryList& Types() const { return fTypes; }
const DebugInfoEntryList& OtherChildren() const
{ return fOtherChildren; }
TargetAddressRangeList* AddressRanges() const
{ return fAddressRanges; }
off_t AddressRangesOffset() const
{ return fAddressRangesOffset; }
target_addr_t LowPC() const { return fLowPC; }
target_addr_t HighPC() const { return fHighPC; }
target_addr_t AddressRangeBase() const;
off_t StatementListOffset() const
{ return fStatementListOffset; }
@@ -202,7 +201,7 @@ protected:
target_addr_t fHighPC;
off_t fStatementListOffset;
off_t fMacroInfoOffset;
TargetAddressRangeList* fAddressRanges;
off_t fAddressRangesOffset;
DIECompileUnitBase* fBaseTypesUnit;
DebugInfoEntryList fTypes;
DebugInfoEntryList fOtherChildren;
@@ -1025,8 +1024,8 @@ public:
virtual DebugInfoEntry* Specification() const;
virtual DebugInfoEntry* AbstractOrigin() const;
TargetAddressRangeList* AddressRanges() const
{ return fAddressRanges; }
off_t AddressRangesOffset() const
{ return fAddressRangesOffset; }
target_addr_t LowPC() const { return fLowPC; }
target_addr_t HighPC() const { return fHighPC; }
@@ -1057,7 +1056,7 @@ public:
protected:
target_addr_t fLowPC;
target_addr_t fHighPC;
TargetAddressRangeList* fAddressRanges;
off_t fAddressRangesOffset;
DIESubprogram* fSpecification;
DIESubprogram* fAbstractOrigin;
DIEType* fReturnType;