Expression eval lookup speedup by not returning methods in ManualDWARFIndex::GetFunctions
authorLevon Ter-Grigoryan <patriosthegreat@protonmail.ch>
Tue, 14 Jan 2020 13:33:43 +0000 (14:33 +0100)
committerPavel Labath <pavel@labath.sk>
Tue, 14 Jan 2020 13:59:56 +0000 (14:59 +0100)
commita705cf1acbe94498f7fcca4e89be6d4820271227
tree03ae4c768dbec25047a93ef5cee613c7bf8a2f81
parent77cc690bae310f4cba0a34f2da8a37a7c9a10a82
Expression eval lookup speedup by not returning methods in ManualDWARFIndex::GetFunctions

Summary:
This change is connected with
https://reviews.llvm.org/D69843

In large codebases, we sometimes see Module::FindFunctions (when called from
ClangExpressionDeclMap::FindExternalVisibleDecls) returning huge amounts of
functions.

In current fix I trying to return only function_fullnames from ManualDWARFIndex::GetFunctions when eFunctionNameTypeFull is passed as argument.

Reviewers: labath, jarin, aprantl

Reviewed By: labath

Subscribers: shafik, clayborg, teemperor, arphaman, lldb-commits

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D70846
lldb/packages/Python/lldbsuite/test/lang/cpp/printf/TestPrintf.py
lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp
lldb/test/Shell/SymbolFile/DWARF/find-basic-function.cpp