[RFA 06/15] Change create_demangled_names_hash to take an objfile_per_bfd_storage

Tom Tromey
2018-05-10T22:24:42Z

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.

2018-05-09 Tom Tromey <tom@tromey.com>

* symtab.c (create_demangled_names_hash): Change argument to be an
objfile_per_bfd_storage.
(symbol_set_names): Update.
---
gdb/ChangeLog | 6 ++++++
gdb/symtab.c | 6 +++---
2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/gdb/symtab.c b/gdb/symtab.c
index e1f033d1d8..7426770e9e 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -708,14 +708,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);
}
@@ -802,7 +802,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')
{
--
2.13.6