llvm-project/lldb/source
Greg Clayton 6aad81cd96 Cleanup fixed form sizes.
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.


Differential Revision: https://reviews.llvm.org/D62416

llvm-svn: 361675
2019-05-24 22:08:50 +00:00
..
API [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
Breakpoint [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
Commands [FuncUnwinders] Use "symbol file" unwind plans for unwinding 2019-05-24 09:54:39 +00:00
Core Fix integer literals which are cast to bool 2019-05-24 00:44:33 +00:00
DataFormatters [lldb] NFC modernize codebase with modernize-use-nullptr 2019-05-23 11:14:47 +00:00
Expression [DWARFExpression] Remove commented-out code (NFC) 2019-05-24 21:26:30 +00:00
Host Revert "[lldb] followup fix for https://reviews.llvm.org/D62305" 2019-05-24 01:08:54 +00:00
Initialization Initialization: move InstructionEmulation to full initialization 2019-05-06 19:38:24 +00:00
Interpreter Fix integer literals which are cast to bool 2019-05-24 00:44:33 +00:00
Plugins Cleanup fixed form sizes. 2019-05-24 22:08:50 +00:00
Symbol [FuncUnwinders] Use "symbol file" unwind plans for unwinding 2019-05-24 09:54:39 +00:00
Target [Process] Clean up some logic around LanguageRuntimes 2019-05-24 19:39:50 +00:00
Utility [Utility] Small improvements to the Broadcaster class (NFC) 2019-05-24 04:41:47 +00:00
CMakeLists.txt [CMake] Remove Apple-specific version logic. 2019-04-17 18:23:22 +00:00
lldb.cpp [CMake] Remove Apple-specific version logic. 2019-04-17 18:23:22 +00:00