[Lldb-commits] [PATCH] D13662: Make dwarf parsing multi-threaded
Zachary Turner via lldb-commits
lldb-commits at lists.llvm.org
Mon Oct 12 13:15:45 PDT 2015
zturner added a subscriber: zturner.
================
Comment at: source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp:2074
@@ +2073,3 @@
+
+ std::lock_guard<std::mutex> lock(index_mutex);
+ m_function_basename_index.Append(function_basename_index);
----------------
Every one of these is locking the same mutex. You could make arrays outside of the async work that is `num_compile_units` entries, and put each result in its own entry in the array.
After the wait, you could make more async workers. One for each variable. like `m_function_base_name_index.Append` could be one async job, and the same for each of the other ones.
http://reviews.llvm.org/D13662
More information about the lldb-commits
mailing list