This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

src/bfd ChangeLog dwarf2.c


CVSROOT:	/cvs/src
Module name:	src
Changes by:	nickc@sourceware.org	2007-07-26 08:31:03

Modified files:
	bfd            : ChangeLog dwarf2.c 

Log message:
	Speed up bfd_dwarf2_find_line.
	* dwarf2.c (struct dwarf2_debug): Add new fields to support function and variable info hash tables. Add last_comp_unit, info_hash_count, funcinfo_hash_table, varinfo_hash_table, hash_units_head.
	(struct comp_unit): Add prev_unit, cached.
	(struct info_list_node, struct info_hash_entry, struct info_hash_table): New.
	(info_hash_table_newfunc, create_info_hash_table, insert_info_hash_table, lookup_info_hash_table): New functions implementing function and variable info hash tables.
	(scan_unit_for_symbols): Add checks to make sure hash tables are consistent with compilation units.
	(comp_unit_maybe_decode_line_info): New function.
	(comp_unit_find_line): Use comp_unit_maybe_decode_line_info.
	(reverse_funcinfo_list, reverse_varinfo_list, comp_unit_hash_info, info_hash_lookup_funcinfo, info_hash_lookup_varinfo, stash_maybe_update_info_hash_table, stash_verify_info_hash_table, stash_maybe_enable_info_hash_tables, stash_find_line_fast): New functions. Make use of info hash tables to speed up bfd_dwarf2_find_line.
	(find_line): Use hash table for faster lookup if it is turned on.
	Also add code to maintain bi-directional link in comp units.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/ChangeLog.diff?cvsroot=src&r1=1.3915&r2=1.3916
http://sourceware.org/cgi-bin/cvsweb.cgi/src/bfd/dwarf2.c.diff?cvsroot=src&r1=1.98&r2=1.99


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]