Simplify psymbol_functions::expand_symtabs_matching

I noticed that psymbol_functions::expand_symtabs_matching calls
make_ignore_params once per psymtab that is matched.  This seems
possibly expensive, so this patch hoists the call out of the loop.

gdb/ChangeLog
2021-03-26  Tom Tromey  <tom@tromey.com>

	* psymtab.c (psymbol_functions::expand_symtabs_matching): Only
	call make_ignore_params once.
This commit is contained in:
Tom Tromey 2021-03-26 13:28:03 -06:00
parent cd43f63e00
commit e2cd5ca40c
2 changed files with 10 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2021-03-26 Tom Tromey <tom@tromey.com>
* psymtab.c (psymbol_functions::expand_symtabs_matching): Only
call make_ignore_params once.
2021-03-26 Tom Tromey <tom@tromey.com>
* psymtab.c (psymbol_functions::expand_symtabs_matching): Remove

View File

@ -1306,6 +1306,10 @@ psymbol_functions::expand_symtabs_matching
for (partial_symtab *ps : require_partial_symbols (objfile))
ps->searched_flag = PST_NOT_SEARCHED;
gdb::optional<lookup_name_info> psym_lookup_name;
if (lookup_name != nullptr)
psym_lookup_name = lookup_name->make_ignore_params ();
for (partial_symtab *ps : m_partial_symtabs->range ())
{
QUIT;
@ -1335,7 +1339,7 @@ psymbol_functions::expand_symtabs_matching
if ((symbol_matcher == NULL && lookup_name == NULL)
|| recursively_search_psymtabs (ps, objfile, domain,
lookup_name->make_ignore_params (),
*psym_lookup_name,
symbol_matcher))
{
struct compunit_symtab *symtab =