shafik created this revision.
shafik added reviewers: friss, jingham, jasonmolenda.
FindLibCppStdFunctionCallableInfo() currently uses FindFunctions() in order to
find a lambdas `operator()()` but using `FindSymbolsMatchingRegExAndType()` is
cheaper and if we also anchor the regex using `^` this adds some additional
performance gains.
https://reviews.llvm.org/D61759
Files:
source/Target/CPPLanguageRuntime.cpp
Index: source/Target/CPPLanguageRuntime.cpp
===================================================================
--- source/Target/CPPLanguageRuntime.cpp
+++ source/Target/CPPLanguageRuntime.cpp
@@ -241,8 +241,8 @@
SymbolContextList scl;
- target.GetImages().FindFunctions(RegularExpression{func_to_match}, true,
true,
- true, scl);
+ target.GetImages().FindSymbolsMatchingRegExAndType(
+ RegularExpression{R"(^)" + func_to_match}, eSymbolTypeAny, scl, true);
// Case 1,2 or 3
if (scl.GetSize() >= 1) {
Index: source/Target/CPPLanguageRuntime.cpp
===================================================================
--- source/Target/CPPLanguageRuntime.cpp
+++ source/Target/CPPLanguageRuntime.cpp
@@ -241,8 +241,8 @@
SymbolContextList scl;
- target.GetImages().FindFunctions(RegularExpression{func_to_match}, true, true,
- true, scl);
+ target.GetImages().FindSymbolsMatchingRegExAndType(
+ RegularExpression{R"(^)" + func_to_match}, eSymbolTypeAny, scl, true);
// Case 1,2 or 3
if (scl.GetSize() >= 1) {
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits