Greatly improve the speed if looking up DWARF line number information.
authorIgor Tsimbalist <tigor.tools@gmail.com>
Tue, 8 Nov 2016 12:01:58 +0000 (12:01 +0000)
committerNick Clifton <nickc@redhat.com>
Tue, 8 Nov 2016 12:01:58 +0000 (12:01 +0000)
commit089e3718bd8de11fc4d6bbc8d32701033d467960
treeb486758f3c84ab5d0ef54fea54ca68f97c4ab38d
parent20955dbf718992e83b7c971344931934b62a784f
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.
bfd/ChangeLog
bfd/dwarf2.c