Cleanup on the unified section list changes. Main changes are:
- ObjectFile::GetSymtab() and ObjectFile::ClearSymtab() no longer takes any flags - Module coordinates with the object files and contain a unified section list so that object file and symbol file can share sections when they need to, yet contain their own sections. Other cleanups: - Fixed Symbol::GetByteSize() to not have the symbol table compute the byte sizes on the fly - Modified the ObjectFileMachO class to compute symbol sizes all at once efficiently - Modified the Symtab class to store a file address lookup table for more efficient lookups - Removed Section::Finalize() and SectionList::Finalize() as they did nothing - Improved performance of the detection of symbol files that have debug maps by excluding stripped files and core files, debug files, object files and stubs - Added the ability to tell if an ObjectFile has been stripped with ObjectFile::IsStripped() (used this for the above performance improvement) llvm-svn: 185990
This commit is contained in:
@@ -406,7 +406,7 @@ SBModule::GetNumSections ()
|
||||
{
|
||||
// Give the symbol vendor a chance to add to the unified section list.
|
||||
module_sp->GetSymbolVendor();
|
||||
SectionList *section_list = module_sp->GetUnifiedSectionList();
|
||||
SectionList *section_list = module_sp->GetSectionList();
|
||||
if (section_list)
|
||||
return section_list->GetSize();
|
||||
}
|
||||
@@ -422,7 +422,7 @@ SBModule::GetSectionAtIndex (size_t idx)
|
||||
{
|
||||
// Give the symbol vendor a chance to add to the unified section list.
|
||||
module_sp->GetSymbolVendor();
|
||||
SectionList *section_list = module_sp->GetUnifiedSectionList ();
|
||||
SectionList *section_list = module_sp->GetSectionList ();
|
||||
|
||||
if (section_list)
|
||||
sb_section.SetSP(section_list->GetSectionAtIndex (idx));
|
||||
@@ -587,7 +587,7 @@ SBModule::FindSection (const char *sect_name)
|
||||
{
|
||||
// Give the symbol vendor a chance to add to the unified section list.
|
||||
module_sp->GetSymbolVendor();
|
||||
SectionList *section_list = module_sp->GetUnifiedSectionList();
|
||||
SectionList *section_list = module_sp->GetSectionList();
|
||||
if (section_list)
|
||||
{
|
||||
ConstString const_sect_name(sect_name);
|
||||
|
||||
Reference in New Issue
Block a user