[Lldb-commits] [PATCH] D32598: Prime module caches outside of the module list lock for better parallelism

Jim Ingham via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Thu Apr 27 11:28:01 PDT 2017


jingham requested changes to this revision.
jingham added a comment.
This revision now requires changes to proceed.

Instead of having the cache priming be determined by platform or something like that, it would be better to add a setting (on the target level seems right) that controls this.  I think you are right that in most common usage, there's going unrestricted query that will end up looking through all the symbols, and in that case, having ingested them in parallel would be a win.  So the correct default would be to do this eagerly.

The control is more for people who are writing special purpose tools than for ordinary users.  For instance, when Xcode runs its "Test" action, by default it uses lldb to run the test binaries.  That great because it means that if a test crashes, you'll be right in the debugger and can analyze the failure.  But most of the time the tests never actually stop in the debugger.  So reading in a whole raft of symbol information in that use case is pretty pointless.  They would be a good candidate to use this setting.

Note, this will make the lazy loading symbol path the less common one, so we'll have to be careful to add some tests to make sure that mode still works.


Repository:
  rL LLVM

https://reviews.llvm.org/D32598





More information about the lldb-commits mailing list