This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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]

[Ada] Improve function used for string hashing


The are many instances of the same string hashing algorithm used all
over the compiler and the run time. This patch refactors those so that
every one is now an instance of the new generic function
System.String_Hash.Hash.

Additionally, we implement a new hashing algorithm which in testing
appears to be a significant improvement over the existing one.

This affects performance in the average case, it does not fix any
specific bug, therefore no test provided.

also some code clean ups/housekeeping in Makefile.in and Make-lang.in

Tested on x86_64-pc-linux-gnu, committed on trunk

2009-06-22  Matthew Gingell  <gingell@adacore.com>
	    Arnaud Charlet  <charlet@adacore.com>

	* a-stzhas.adb, a-stwiha.adb, impunit.adb, a-swbwha.adb, a-shcain.adb,
	s-htable.adb, a-szuzha.adb, a-stunha.adb, a-stboha.adb, a-strhas.adb,
	g-spitbo.adb, s-strhas.adb, a-szbzha.adb, s-strhas.ads, Makefile.rtl,
	a-swuwha.adb: New unit System.String_Hash.  
	Refactor redundant cut and pasted hash functions with instances of a
	new generic hash function.
	Implement a new string hashing algorithm which appears in testing to
	be move effective than to previous approach.

	* gcc-interface/Make-lang.in: Update dependencies.

	* gcc-interface/Makefile.in: Reindent correctly vms targets.
	Fix setting of TOOLS_TARGET_PAIRS for bare board platforms.
	Disable socket support for Vxworks 653 vThreads.
	Improve handling of signals on darwin.
	(GNATMAKE_OBJS): Update dependencies.

Attachment: difs
Description: Text document


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