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.
+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
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;
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 =