diff options
author | Alan Modra <amodra@gmail.com> | 2022-07-21 08:38:14 +0930 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2022-07-21 13:35:51 +0930 |
commit | f07c08e115e27cddf5a0030dc6332bbee1bd9c6a (patch) | |
tree | 1af0df0b0fcdab8870f16cb0bc508a6b81c2c080 /gdb/filesystem.h | |
parent | 175b91507b83ad42607d2f6dadaf55b7b511bdbe (diff) | |
download | gdb-f07c08e115e27cddf5a0030dc6332bbee1bd9c6a.zip gdb-f07c08e115e27cddf5a0030dc6332bbee1bd9c6a.tar.gz gdb-f07c08e115e27cddf5a0030dc6332bbee1bd9c6a.tar.bz2 |
binutils/dwarf.c: abbrev caching
I'm inclined to think that abbrev caching is counter-productive. The
time taken to search the list of abbrevs converted to internal form is
non-zero, and it's easy to decode the raw abbrevs. It's especially
silly to cache empty lists of decoded abbrevs (happens with zero
padding in .debug_abbrev), or abbrevs as they are displayed when there
is no further use of those abbrevs. This patch stops caching in those
cases.
* dwarf.c (record_abbrev_list_for_cu): Add free_list param.
Put abbrevs on abbrev_lists here.
(new_abbrev_list): Delete function.
(process_abbrev_set): Return newly allocated list. Move
abbrev base, offset and size checking to..
(find_and_process_abbrev_set): ..here, new function. Handle
lookup of cached abbrevs here, and calculate start and end
for process_abbrev_set. Return free_list if newly alloc'd.
(process_debug_info): Consolidate cached list lookup, new list
alloc and processing into find_and_process_abbrev_set call.
Free list when not cached.
(display_debug_abbrev): Similarly.
Diffstat (limited to 'gdb/filesystem.h')
0 files changed, 0 insertions, 0 deletions