[Lldb-commits] [PATCH] D62416: Cleanup fixed form sizes.
Greg Clayton via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Fri May 24 11:55:18 PDT 2019
clayborg created this revision.
clayborg added reviewers: labath, aprantl, JDevlieghere.
Herald added a subscriber: arphaman.
The fix form sizes use to have two arrays: one for 4 byte addresses and in for 8 byte addresses. The table had an issue where DW_FORM_flag_present wasn't being represented as a fixed size form because its actual size _is_ zero and zero was used to indicate the form isn't fixed in size. Any code that needed to quickly access the DWARF had to get a FixedFormSizes instance using the address byte size.
This fix cleans things up by adding a DWARFFormValue::GetFixedSize() both as a static method and as a member function on DWARFFormValue. It correctly can indicate if a form size is zero. This cleanup is a precursor to a follow up patch where I hope to speed up DWARF parsing.
I verified performance doesn't regress by loading hundreds of DWARF files and setting a breakpoint by file and line and by name in files that do not have DWARF indexes. Performance remained consistent between the two approaches.
https://reviews.llvm.org/D62416
Files:
source/Plugins/SymbolFile/DWARF/DWARFBaseDIE.cpp
source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.h
source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp
source/Plugins/SymbolFile/DWARF/DWARFFormValue.h
source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
source/Plugins/SymbolFile/DWARF/DWARFUnit.h
source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.h
source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D62416.201299.patch
Type: text/x-patch
Size: 18249 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20190524/37cd5367/attachment.bin>
More information about the lldb-commits
mailing list