Enable custom bcache hash function.
2010-08-25 Sami Wagiaalla <swagiaal@redhat.com> * psymtab.c (add_psymbol_to_bcache): Remove 'static' from 'static partial_symbol psymbol'. (psymbol_hash): New function. (psymbol_compare): New function. * bcache.c (hash_continue): New. (hash): Use hash_continue. * bcache.c: Add hash_function and compare_function pointers to bcache struct. (bcache_full): Use bcache->hash_function, and bcache->compare_function. (bcache_compare): New function. (bcache_xmalloc): Take hash_function and compare_function arguments and initialize the bcach's pointers. Updated comment. * objfiles.c (allocate_objfile): Updated. * symfile.c (reread_symbols): Updated. * python/py-type.c (typy_richcompare): Updated.
This commit is contained in:
parent
107c6e11a7
commit
cbd7053759
8 changed files with 128 additions and 25 deletions
|
@ -2432,11 +2432,12 @@ reread_symbols (void)
|
|||
|
||||
/* Free the obstacks for non-reusable objfiles */
|
||||
bcache_xfree (objfile->psymbol_cache);
|
||||
objfile->psymbol_cache = bcache_xmalloc ();
|
||||
objfile->psymbol_cache = bcache_xmalloc (psymbol_hash,
|
||||
psymbol_compare);
|
||||
bcache_xfree (objfile->macro_cache);
|
||||
objfile->macro_cache = bcache_xmalloc ();
|
||||
objfile->macro_cache = bcache_xmalloc (NULL, NULL);
|
||||
bcache_xfree (objfile->filename_cache);
|
||||
objfile->filename_cache = bcache_xmalloc ();
|
||||
objfile->filename_cache = bcache_xmalloc (NULL,NULL);
|
||||
if (objfile->demangled_names_hash != NULL)
|
||||
{
|
||||
htab_delete (objfile->demangled_names_hash);
|
||||
|
@ -2458,9 +2459,10 @@ reread_symbols (void)
|
|||
memset (&objfile->msymbol_demangled_hash, 0,
|
||||
sizeof (objfile->msymbol_demangled_hash));
|
||||
|
||||
objfile->psymbol_cache = bcache_xmalloc ();
|
||||
objfile->macro_cache = bcache_xmalloc ();
|
||||
objfile->filename_cache = bcache_xmalloc ();
|
||||
objfile->psymbol_cache = bcache_xmalloc (psymbol_hash,
|
||||
psymbol_compare);
|
||||
objfile->macro_cache = bcache_xmalloc (NULL, NULL);
|
||||
objfile->filename_cache = bcache_xmalloc (NULL, NULL);
|
||||
/* obstack_init also initializes the obstack so it is
|
||||
empty. We could use obstack_specify_allocation but
|
||||
gdb_obstack.h specifies the alloc/dealloc
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue