[Lldb-commits] [PATCH] D69913: Re-enable std::function formatter with fixes to improve non-cached lookup performance

Shafik Yaghmour via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Wed Nov 6 10:39:16 PST 2019


shafik created this revision.
shafik added reviewers: jasonmolenda, aam, jingham.
Herald added a subscriber: christof.

This PR depends on D67111 <https://reviews.llvm.org/D67111>

Performance issues lead to the libc++ std::function formatter to be disabled. We addressed some of those performance issues by adding caching see D67111 <https://reviews.llvm.org/D67111>

This PR fixes the first lookup performance by not using `FindSymbolsMatchingRegExAndType(...)` and instead finding the compilation unit the `std::function` wrapped callable should be in and then searching for the callable directly in the CU.


https://reviews.llvm.org/D69913

Files:
  include/lldb/Symbol/CompileUnit.h
  packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/function/TestLibCxxFunction.py
  packages/Python/lldbsuite/test/lang/cpp/std-function-step-into-callable/TestStdFunctionStepIntoCallable.py
  packages/Python/lldbsuite/test/lang/cpp/std-function-step-into-callable/main.cpp
  source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
  source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
  source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
  source/Symbol/CompileUnit.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D69913.228102.patch
Type: text/x-patch
Size: 13624 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20191106/e0c5b220/attachment-0001.bin>


More information about the lldb-commits mailing list