diff options
author | Sami Wagiaalla <swagiaal@redhat.com> | 2010-08-31 20:10:42 +0000 |
---|---|---|
committer | Sami Wagiaalla <swagiaal@redhat.com> | 2010-08-31 20:10:42 +0000 |
commit | 710e1a31c41cfebe0c425d54efa309bb7054cbc2 (patch) | |
tree | 3f8172cd66cd3b0d4183083db745b74a727d1f1f /gdb/symfile.c | |
parent | 6438229074032cc548209c05c42bd57873a72651 (diff) | |
download | gdb-710e1a31c41cfebe0c425d54efa309bb7054cbc2.zip gdb-710e1a31c41cfebe0c425d54efa309bb7054cbc2.tar.gz gdb-710e1a31c41cfebe0c425d54efa309bb7054cbc2.tar.bz2 |
Create and use a specialized bcache type for psymbols
2010-08-31 Sami Wagiaalla <swagiaal@redhat.com>
* symfile.c (reread_symbols): Use psymbol_bcache_free, and
psymbol_bcache_init.
* psymtab.h (psymbol_bcache_init): New function prototype.
(psymbol_bcache_free): New function prototype.
(psymbol_bcache_get_bcache): New function prototype.
* psymtab.c (psymbol_bcache_init): New function.
(psymbol_bcache_free): New function.
(psymbol_bcache_full): New function.
(psymbol_bcache_get_bcache): New function.
(add_psymbol_to_bcache): use psymbol_bcache_full.
* objfiles.h (psymbol_cache): Change type of psymbol_cache to
psymbol_bcache.
* symmisc.c (print_symbol_bcache_statistics): Updated.
(print_objfile_statistics): Updated.
* objfiles.c (allocate_objfile): Use psymbol_bcache_init to initialize
psymbol_cache.
(free_objfile): Use psymbol_bcache_free.
Diffstat (limited to 'gdb/symfile.c')
-rw-r--r-- | gdb/symfile.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/gdb/symfile.c b/gdb/symfile.c index 048b8a8..087cd3a 100644 --- a/gdb/symfile.c +++ b/gdb/symfile.c @@ -2431,9 +2431,8 @@ reread_symbols (void) sizeof (objfile->static_psymbols)); /* Free the obstacks for non-reusable objfiles */ - bcache_xfree (objfile->psymbol_cache); - objfile->psymbol_cache = bcache_xmalloc (psymbol_hash, - psymbol_compare); + psymbol_bcache_free (objfile->psymbol_cache); + objfile->psymbol_cache = psymbol_bcache_init (); bcache_xfree (objfile->macro_cache); objfile->macro_cache = bcache_xmalloc (NULL, NULL); bcache_xfree (objfile->filename_cache); @@ -2459,8 +2458,7 @@ reread_symbols (void) memset (&objfile->msymbol_demangled_hash, 0, sizeof (objfile->msymbol_demangled_hash)); - objfile->psymbol_cache = bcache_xmalloc (psymbol_hash, - psymbol_compare); + objfile->psymbol_cache = psymbol_bcache_init (); objfile->macro_cache = bcache_xmalloc (NULL, NULL); objfile->filename_cache = bcache_xmalloc (NULL, NULL); /* obstack_init also initializes the obstack so it is |