diff options
author | Doug Evans <xdje42@gmail.com> | 2015-01-31 13:29:33 -0800 |
---|---|---|
committer | Doug Evans <xdje42@gmail.com> | 2015-01-31 13:29:33 -0800 |
commit | f57d2163da62044205c3f53e0ecf186923296b63 (patch) | |
tree | 31bb50455e71f7b3fae23fa4588d8227b1ba88fa /gdb/NEWS | |
parent | e700d1b279b26d4b7d86cfae70d2e022ee748068 (diff) | |
download | gdb-f57d2163da62044205c3f53e0ecf186923296b63.zip gdb-f57d2163da62044205c3f53e0ecf186923296b63.tar.gz gdb-f57d2163da62044205c3f53e0ecf186923296b63.tar.bz2 |
Add symbol lookup cache.
gdb/ChangeLog:
Add symbol lookup cache.
* NEWS: Document new options and commands.
* symtab.c (symbol_cache_key): New static global.
(DEFAULT_SYMBOL_CACHE_SIZE, MAX_SYMBOL_CACHE_SIZE): New macros.
(SYMBOL_LOOKUP_FAILED): New macro.
(symbol_cache_slot_state): New enum.
(block_symbol_cache): New struct.
(symbol_cache): New struct.
(new_symbol_cache_size, symbol_cache_size): New static globals.
(hash_symbol_entry, eq_symbol_entry): New functions.
(symbol_cache_byte_size, resize_symbol_cache): New functions.
(make_symbol_cache, free_symbol_cache): New functions.
(get_symbol_cache, symbol_cache_cleanup): New function.
(set_symbol_cache_size, set_symbol_cache_size_handler): New functions.
(symbol_cache_lookup, symbol_cache_clear_slot): New function.
(symbol_cache_mark_found, symbol_cache_mark_not_found): New functions.
(symbol_cache_flush, symbol_cache_dump): New functions.
(maintenance_print_symbol_cache): New function.
(maintenance_flush_symbol_cache): New function.
(symbol_cache_stats): New function.
(maintenance_print_symbol_cache_statistics): New function.
(symtab_new_objfile_observer): New function.
(symtab_free_objfile_observer): New function.
(lookup_static_symbol, lookup_global_symbol): Use symbol cache.
(_initialize_symtab): Init symbol_cache_key. New parameter
maint symbol-cache-size. New maint commands print symbol-cache,
print symbol-cache-statistics, flush-symbol-cache.
Install new_objfile, free_objfile observers.
gdb/doc/ChangeLog:
* gdb.texinfo (Symbols): Document new commands
"maint print symbol-cache", "maint print symbol-cache-statistics",
"maint flush-symbol-cache". Document new option
"maint set symbol-cache-size".
Diffstat (limited to 'gdb/NEWS')
-rw-r--r-- | gdb/NEWS | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -13,8 +13,23 @@ which is the name of the objfile as specified by the user, without, for example, resolving symlinks. +* New commands + +maint print symbol-cache + Print the contents of the symbol cache. + +maint print symbol-cache-statistics + Print statistics of symbol cache usage. + +maint flush-symbol-cache + Flush the contents of the symbol cache. + * New options +maint set symbol-cache-size +maint show symbol-cache-size + Control the size of the symbol cache. + * The command 'thread apply all' can now support new option '-ascending' to call its specified command for all threads in ascending order. |