summaryrefslogtreecommitdiff
path: root/gdb/psymtab.h
diff options
context:
space:
mode:
authorswagiaal <swagiaal>2010-08-31 20:10:42 +0000
committerswagiaal <swagiaal>2010-08-31 20:10:42 +0000
commit3cf2892284020e27403d7e60cee9b2654a154cc4 (patch)
tree621833a8ec8f29ba4600f305cb4591546d69a10a /gdb/psymtab.h
parent2aff8d5fea40a80b77a1c26e866170c7acdf2051 (diff)
downloadgdb-3cf2892284020e27403d7e60cee9b2654a154cc4.tar.gz
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/psymtab.h')
-rw-r--r--gdb/psymtab.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/gdb/psymtab.h b/gdb/psymtab.h
index 0786944b1e5..b104672230c 100644
--- a/gdb/psymtab.h
+++ b/gdb/psymtab.h
@@ -20,8 +20,13 @@
#ifndef PSYMTAB_H
#define PSYMTAB_H
-extern unsigned long psymbol_hash (const void *addr, int length);
-extern int psymbol_compare (const void *addr1, const void *addr2, int length);
+/* A bcache for partial symbols. */
+
+struct psymbol_bcache;
+
+extern struct psymbol_bcache *psymbol_bcache_init (void);
+extern void psymbol_bcache_free (struct psymbol_bcache *);
+extern struct bcache *psymbol_bcache_get_bcache (struct psymbol_bcache *);
void map_partial_symbol_names (void (*) (const char *, void *), void *);