[Lldb-commits] [PATCH] D48393: Make DWARFParsing more thread-safe
Frederic Riss via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Wed Jun 20 14:05:55 PDT 2018
friss created this revision.
friss added reviewers: clayborg, labath, jingham.
Herald added subscribers: JDevlieghere, aprantl.
Debug information is read lazily so a lot of the state of the reader
is constructred incrementally. There's also nothing preventing symbol
queries to be performed at the same time by multiple threads. This
lead to a series of crashes where the data structures used for
bookkeeping got corrupted because of concurrent modification.
This patch uses a brute-force approach where every such data-structure
got converted to a thread-safe version. I'm happy to discuss
alternatives, and also to hear ideas about whatever preformance testing
I can do to asses the impact of this patch.
https://reviews.llvm.org/D48393
Files:
include/lldb/Core/ThreadSafeDenseMap.h
source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
source/Plugins/SymbolFile/DWARF/DWARFASTParserGo.cpp
source/Plugins/SymbolFile/DWARF/DWARFASTParserJava.cpp
source/Plugins/SymbolFile/DWARF/DWARFASTParserOCaml.cpp
source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D48393.152157.patch
Type: text/x-patch
Size: 36112 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20180620/a5a3cfed/attachment-0001.bin>
More information about the lldb-commits
mailing list