diff options
author | Igor Tsimbalist <tigor.tools@gmail.com> | 2016-11-08 12:01:58 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2016-11-08 12:01:58 +0000 |
commit | 089e3718bd8de11fc4d6bbc8d32701033d467960 (patch) | |
tree | b486758f3c84ab5d0ef54fea54ca68f97c4ab38d /bfd/ChangeLog | |
parent | 20955dbf718992e83b7c971344931934b62a784f (diff) | |
download | gdb-089e3718bd8de11fc4d6bbc8d32701033d467960.zip gdb-089e3718bd8de11fc4d6bbc8d32701033d467960.tar.gz gdb-089e3718bd8de11fc4d6bbc8d32701033d467960.tar.bz2 |
Greatly improve the speed if looking up DWARF line number information.
* dwarf2.c (comp_unit): Add new fields 'lookup_funcinfo_table' and
'number_of_functions' to keep lookup table and number of entries in
the table.
(line_sequence): Add new fields 'line_info_lookup' and 'num_lines'
to keep lookup table and number of entries in the table.
(lookup_funcinfo): New structure for lookup table for function
references.
(build_line_info_table): New function to create and build the lookup
table for line information.
(lookup_address_in_line_info_table): Use the lookup table instead of
traverse a linked list.
(compare_lookup_funcinfos): New compare fuction used in sorting of
lookup table for function references.
(build_lookup_funcinfo_table): New function to create, build and
sort the lookup table for functions references.
(lookup_address_in_function_table): Use the table instead of
traverse a linked list.
(_bfd_dwarf2_cleanup_debug_info): Free memory from function references
lookup table.
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r-- | bfd/ChangeLog | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 810dd05..d7f097f 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,25 @@ +2016-11-08 Igor Tsimbalist <tigor.tools@gmail.com> + + * dwarf2.c (comp_unit): Add new fields 'lookup_funcinfo_table' and + 'number_of_functions' to keep lookup table and number of entries in + the table. + (line_sequence): Add new fields 'line_info_lookup' and 'num_lines' + to keep lookup table and number of entries in the table. + (lookup_funcinfo): New structure for lookup table for function + references. + (build_line_info_table): New function to create and build the lookup + table for line information. + (lookup_address_in_line_info_table): Use the lookup table instead of + traverse a linked list. + (compare_lookup_funcinfos): New compare fuction used in sorting of + lookup table for function references. + (build_lookup_funcinfo_table): New function to create, build and + sort the lookup table for functions references. + (lookup_address_in_function_table): Use the table instead of + traverse a linked list. + (_bfd_dwarf2_cleanup_debug_info): Free memory from function references + lookup table. + 2016-11-04 Nick Clifton <nickc@redhat.com> * targets.c (bfd_target_vector): Only add riscv_elf32_vec target |