llvm-project/lldb
Jonas Devlieghere 2b34632a57 [lldb/SymbolFile] Don't parse the whole line table for the support files
Prior to my patch of using the LLVM line table parsing code,
SymbolFileDWARF::ParseSupportFiles would only parse the line table
prologues to get the file list for any files that could be in the line
table.

With the old behavior, if we found the file that someone is setting the
breakpoint in in the support files list, we would get a valid index. If
we didn't, we would not look any further. So someone sets a breakpoint
one "MyFile.cpp:12" and if we find "MyFile.cpp" in the support file list
for the compile unit, then and only then would we get the entire line
table for that compile unit.

With the current behavior, no matter what, we always fully parse the
line table for all compile units any time any file and line breakpoint
is set. This creates a serious problem when debugging a large DWARF in
.o file project.

This patch re-instates the old behavior. Unfortunately it means we might
end up parsing to prologue twice, but I don't think that outweighs the
cost of trying to cache/reuse it.

Differential revision: https://reviews.llvm.org/D81589
2020-06-12 09:39:17 -07:00
..
bindings [lldb/cmake] Tweak descriptions of swig rules 2020-06-03 13:26:25 +02:00
cmake [lldb/CMake] Add LLDB_PYTHON_VERSION to use Python 2 with CMake > 3.12 2020-06-09 14:11:11 -07:00
docs [Docs] Correct description of lldbinit behavior 2020-05-28 13:10:33 -07:00
examples [lldb] NFC remove DISALLOW_COPY_AND_ASSIGN 2020-06-02 13:23:53 -04:00
include/lldb [lldb] Check if thread was suspended during previous stop added. 2020-06-11 15:02:46 -07:00
packages/Python [lldb/Test] Ensure inline tests have a unique build directory 2020-06-11 09:36:54 -07:00
resources
scripts [lldb/Scripts] proc.returncode is set in proc.communicate 2020-04-21 11:30:15 -07:00
source [lldb/SymbolFile] Don't parse the whole line table for the support files 2020-06-12 09:39:17 -07:00
test [lldb] Test creating persistent variables with $[digit] names 2020-06-12 16:12:33 +02:00
third_party/Python/module [lldb] NFC: Fix trivial typo in comments, documents, and messages 2020-04-07 01:06:16 +09:00
tools debugserver: Enable -DLLDB_ENERGY when compiling against an internal SDK 2020-06-10 14:10:27 -07:00
unittests [lldb] Check if thread was suspended during previous stop added. 2020-06-11 15:02:46 -07:00
utils [lldb/Utils] Serialize exit code in lldb-repro.py 2020-05-05 16:05:49 -07:00
.clang-format
.clang-tidy [lldb] Add .clang-tidy with customization to disable readability-identifier-naming 2020-03-09 12:50:28 -07:00
.gitignore Add .noindex to the gitignore 2019-04-05 17:57:42 +00:00
CMakeLists.txt [lldb/CMake] Only CMAKE_CFG_INTDIR if it's not '.' 2020-03-27 17:49:00 -07:00
CODE_OWNERS.txt [lldb][NFC] Cleanup mentions and code related to lldb-mi 2019-07-19 15:55:23 +00:00
LICENSE.TXT
use_lldb_suite_root.py