aboutsummaryrefslogtreecommitdiff
path: root/gdb/filesystem.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2022-07-21 08:38:14 +0930
committerAlan Modra <amodra@gmail.com>2022-07-21 13:35:51 +0930
commitf07c08e115e27cddf5a0030dc6332bbee1bd9c6a (patch)
tree1af0df0b0fcdab8870f16cb0bc508a6b81c2c080 /gdb/filesystem.h
parent175b91507b83ad42607d2f6dadaf55b7b511bdbe (diff)
downloadgdb-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