[all-commits] [llvm/llvm-project] 91e94a: [LLDB][Formatters] Re-enable std::function formatt...

Shafik Yaghmour via All-commits all-commits at lists.llvm.org
Tue Nov 12 11:30:27 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 91e94a7015f14f78809e875c43acbd341d081479
      https://github.com/llvm/llvm-project/commit/91e94a7015f14f78809e875c43acbd341d081479
  Author: shafik <syaghmour at apple.com>
  Date:   2019-11-12 (Tue, 12 Nov 2019)

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

  Log Message:
  -----------
  [LLDB][Formatters] Re-enable std::function formatter with fixes to improve non-cached lookup performance

Performance issues lead to the libc++ std::function formatter to be disabled. We addressed some of those performance issues by adding caching see 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.

Differential Revision: https://reviews.llvm.org/D69913




More information about the All-commits mailing list