Change create_demangled_names_hash to take an objfile_per_bfd_storage

This changes create_demangled_names_hash to take an
objfile_per_bfd_storage parameter.  This makes it clearer where it is
storing the objects it allocates.

gdb/ChangeLog
2019-01-10  Tom Tromey  <tom@tromey.com>

	* symtab.c (create_demangled_names_hash): Change argument to be an
	objfile_per_bfd_storage.
	(symbol_set_names): Update.
This commit is contained in:
Tom Tromey 2018-05-10 16:23:48 -06:00
parent 6eee24ce30
commit 0f14768a2a
2 changed files with 9 additions and 3 deletions

View File

@ -1,3 +1,9 @@
2019-01-10 Tom Tromey <tom@tromey.com>
* symtab.c (create_demangled_names_hash): Change argument to be an
objfile_per_bfd_storage.
(symbol_set_names): Update.
2019-01-10 Tom Tromey <tom@tromey.com>
* xcoffread.c (xcoff_initial_scan): Unconditionally call

View File

@ -707,14 +707,14 @@ eq_demangled_name_entry (const void *a, const void *b)
name. The entry is hashed via just the mangled name. */
static void
create_demangled_names_hash (struct objfile *objfile)
create_demangled_names_hash (struct objfile_per_bfd_storage *per_bfd)
{
/* Choose 256 as the starting size of the hash table, somewhat arbitrarily.
The hash table code will round this up to the next prime number.
Choosing a much larger table size wastes memory, and saves only about
1% in symbol reading. */
objfile->per_bfd->demangled_names_hash = htab_create_alloc
per_bfd->demangled_names_hash = htab_create_alloc
(256, hash_demangled_name_entry, eq_demangled_name_entry,
NULL, xcalloc, xfree);
}
@ -801,7 +801,7 @@ symbol_set_names (struct general_symbol_info *gsymbol,
}
if (per_bfd->demangled_names_hash == NULL)
create_demangled_names_hash (objfile);
create_demangled_names_hash (per_bfd);
if (linkage_name[len] != '\0')
{