abbrev_table::read increments cur_abbrev->num_attrs in the inner loop,
but there's no need to do this, as the information is already stored
in the temporary vector.
2020-02-08 Tom Tromey <tom@tromey.com>
* dwarf2/abbrev.c (abbrev_table::read): Simplify.
Change-Id: I765f12850ffa1c6066e884bb22c94468d1abdba4
This changes abbrev_table to use an htab_up rather than an ad hoc,
bucket-based hash table.
2020-02-08 Tom Tromey <tom@tromey.com>
* dwarf2/abbrev.c (abbrev_table): Move constructor from header.
Rewrite.
(abbrev_table::add_abbrev, abbrev_table::lookup_abbrev): Rewrite.
* dwarf2/abbrev.h (struct abbrev_info) <next>: Remove.
(abbrev_table::abbrev_table): No longer inline.
(ABBREV_HASH_SIZE): Remove.
(abbrev_table::m_abbrevs): Now an htab_up.
Change-Id: Icbaa8e49501f9c43218d6a81a7e8c4d3a77d65dc
This cleans up the DWARF abbrev_table API a bit, primarily by making
various methods and members private.
2020-02-08 Tom Tromey <tom@tromey.com>
* dwarf2/read.c (read_cutu_die_from_dwo): Update.
(cutu_reader): Update.
(build_type_psymtabs_1): Update.
* dwarf2/abbrev.c (abbrev_table::read): Rename.
(abbrev_table::alloc_abbrev): Update.
* dwarf2/abbrev.h (abbrev_table_up): Move earlier.
(abbrev_table::read): New static method, renamed from
abbrev_table_read_table.
(abbrev_table::alloc_abbrev)
(abbrev_table::add_abbrev): Now private.
(abbrev_table::abbrev_table): Now private.
(abbrev_table::m_abbrev_obstack): Now private. Rename.
Change-Id: I320dca83b799f672909ae66f73b7aca266adbaf9
This moves the abbrev table code out of dwarf2read.c and into new
files dwarf2/abbrev.[ch].
gdb/ChangeLog
2020-02-08 Tom Tromey <tom@tromey.com>
* dwarf2read.c (abbrev_table_up, struct abbrev_info)
(struct attr_abbrev, ABBREV_HASH_SIZE, struct abbrev_table):
Move.
(read_cutu_die_from_dwo, build_type_psymtabs_1): Update.
(abbrev_table::alloc_abbrev, abbrev_table::add_abbrev)
(abbrev_table::lookup_abbrev, abbrev_table_read_table): Move to
abbrev.c.
* dwarf2/abbrev.h: New file.
* dwarf2/abbrev.c: New file, from dwarf2read.c.
* Makefile.in (COMMON_SFILES): Add dwarf2/abbrev.c.
Change-Id: I87911bc5297de4407587ca849fef8e8d19136c30