binutils-gdb/gdb/dwarf2
Tom Tromey 7d00ffecd2 Lazily compute partial DIE name
Currently the name of a partial DIE is computed eagerly.  However, the
name is not always needed.  This patch changes partial DIEs to compute
their name lazily, improving performance by avoiding unnecessary name
computations.

The run previous to this had times of (see the first patch in the
series for an explanation):

gdb    1.88
libxul 2.11
Ada    2.60

This patch improves the times to:

gdb    1.69
libxul 2.02
Ada    2.52

gdb/ChangeLog
2020-05-27  Tom Tromey  <tromey@adacore.com>

	* dwarf2/read.c (struct partial_die_info) <name>: Declare new
	method.
	<canonical_name>: New member.
	<raw_name>: Rename from "name".
	(partial_die_info): Initialize canonical_name.
	(scan_partial_symbols): Check raw_name.
	(partial_die_parent_scope, partial_die_full_name)
	(add_partial_symbol, add_partial_subprogram)
	(add_partial_enumeration, load_partial_dies): Use "name" method.
	(partial_die_info::name): New method.
	(partial_die_info::read, guess_partial_die_structure_name)
	(partial_die_info::fixup): Update.
2020-05-27 11:48:19 -06:00
..
abbrev.c
abbrev.h
attribute.c Attribute method inlining 2020-05-27 11:48:18 -06:00
attribute.h Attribute method inlining 2020-05-27 11:48:18 -06:00
comp-unit.c
comp-unit.h
die.h
dwz.c
dwz.h
expr.c Add dwarf2_per_objfile to dwarf_expr_context and dwarf2_frame_cache 2020-05-27 11:15:56 -04:00
expr.h Add dwarf2_per_objfile to dwarf_expr_context and dwarf2_frame_cache 2020-05-27 11:15:56 -04:00
frame-tailcall.c Fix remaining inline/tailcall unwinding breakage for x86_64 2020-04-27 09:04:55 -03:00
frame-tailcall.h
frame.c Add dwarf2_per_objfile to dwarf_expr_context and dwarf2_frame_cache 2020-05-27 11:15:56 -04:00
frame.h
index-cache.c Make dwarf2_get_dwz_file take a dwarf2_per_bfd 2020-05-27 11:15:54 -04:00
index-cache.h
index-common.c
index-common.h
index-write.c Make dwarf2_get_dwz_file take a dwarf2_per_bfd 2020-05-27 11:15:54 -04:00
index-write.h
leb.c
leb.h
line-header.c
line-header.h
loc.c Add dwarf2_per_objfile parameter to get_die_type_at_offset 2020-05-27 11:15:58 -04:00
loc.h Remove dwarf2_per_cu_data::objfile () 2020-05-27 11:15:57 -04:00
macro.c Make dwarf2_get_dwz_file take a dwarf2_per_bfd 2020-05-27 11:15:54 -04:00
macro.h
read.c Lazily compute partial DIE name 2020-05-27 11:48:19 -06:00
read.h Share DWARF partial symtabs 2020-05-27 11:20:15 -04:00
section.c
section.h
stringify.c
stringify.h