[all-commits] [llvm/llvm-project] e18f4d: [LLDB] Adding caching to libc++ std::function form...

Shafik Yaghmour via All-commits all-commits at lists.llvm.org
Wed Nov 6 16:03:14 PST 2019


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

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/function/TestLibCxxFunction.py
    M lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/function/main.cpp
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.h

  Log Message:
  -----------
  [LLDB] Adding caching to libc++ std::function formatter for lookups that require scanning symbols

Performance issues lead to the libc++ std::function formatter to be disabled.
This change is the first of two changes that should address the performance issues and allow us to enable the formatter again.
In some cases we end up scanning the symbol table for the callable wrapped by std::function for those cases we will now cache the results and used the cache in subsequent look-ups. This still leaves a large cost for the initial lookup which will be addressed in the next change.

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




More information about the All-commits mailing list