summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/ExpressionParser
diff options
context:
space:
mode:
authorLevon Ter-Grigoryan <patriosthegreat@protonmail.ch>2020-01-14 14:33:43 +0100
committerPavel Labath <pavel@labath.sk>2020-01-14 14:59:56 +0100
commita705cf1acbe94498f7fcca4e89be6d4820271227 (patch)
tree03ae4c768dbec25047a93ef5cee613c7bf8a2f81 /lldb/source/Plugins/ExpressionParser
parent77cc690bae310f4cba0a34f2da8a37a7c9a10a82 (diff)
downloadbcm5719-llvm-a705cf1acbe94498f7fcca4e89be6d4820271227.tar.gz
bcm5719-llvm-a705cf1acbe94498f7fcca4e89be6d4820271227.zip
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
Diffstat (limited to 'lldb/source/Plugins/ExpressionParser')
-rw-r--r--lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
index a302a73cafc..bf3023be5f6 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
+++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
@@ -1254,9 +1254,9 @@ void ClangExpressionDeclMap::LookupFunction(NameSearchContext &context,
// TODO Fix FindFunctions so that it doesn't return
// instance methods for eFunctionNameTypeBase.
- target->GetImages().FindFunctions(name, eFunctionNameTypeFull,
- include_symbols, include_inlines,
- sc_list);
+ target->GetImages().FindFunctions(
+ name, eFunctionNameTypeFull | eFunctionNameTypeBase, include_symbols,
+ include_inlines, sc_list);
}
// If we found more than one function, see if we can use the frame's decl
OpenPOWER on IntegriCloud