libabigail/include
Dodji Seketeli 65318dacfb [xml-writter] Avoid using RTTI when dynamically hashing types
When we dynamically hash types in the abixml writter, we use
hash_type_or_decl.  This function uses runtime type identification to
determine if the (type) artifact is a decl or a type, and based on
that, choose how to compute its hash value.  Profiling shows that
using the RTTI in hash_type_or_decl at this point is a hotspot.

Because we know that the type ABI is a *type*, we obviously can avoid
using RTTI there.

The patch thus implements a hash_type function, and uses that in the
xml writter.  Emitting the abixml output is faster with this patch.

	* include/abg-fwd.h (hash_type): Declare new function.
	* src/abg-ir.cc (hash_type): Define new function.
	* src/abg-writer.cc (type_hasher::operator()): Use the new
	  hash_type rather than the old hash_type_or_decl.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
2019-07-08 16:59:03 +02:00
..
abg-comp-filter.h Bug 24731 - Wrongly reporting union members order change 2019-06-26 11:09:43 +02:00
abg-comparison.h Bug 24731 - Wrongly reporting union members order change 2019-06-26 11:09:43 +02:00
abg-config.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-corpus.h Bug 24552 - abidiff fails comparing a corpus against a corpus group 2019-05-16 18:10:08 +02:00
abg-diff-utils.h diff-utils: point: fix postfix decrement/increment operator 2019-04-16 16:11:01 +02:00
abg-dwarf-reader.h Avoid over-suppressing fns & vars when analysing the Kernel 2019-02-19 17:42:56 +01:00
abg-fwd.h [xml-writter] Avoid using RTTI when dynamically hashing types 2019-07-08 16:59:03 +02:00
abg-hash.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-ini.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-interned-str.h Take anonymous scopes into account when comparing decls 2019-06-13 17:54:45 +02:00
abg-ir.h Implement a poor-man's RTTI for performance 2019-07-08 16:52:59 +02:00
abg-libxml-utils.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-libzip-utils.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-reader.h Separate public types of first binary from those of the second 2019-01-16 12:27:45 +01:00
abg-reporter.h abg-reporter.h: add missing includes / using declarations 2019-06-17 15:25:18 +02:00
abg-sptr-utils.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-suppression.h Bug 24139 - Support suppressing some enumerator changes 2019-01-31 09:20:06 +01:00
abg-tools-utils.h Fully account for anonymous-ness of scopes when comparing decl names 2019-06-21 11:42:44 +02:00
abg-traverse.h add missing virtual destructors 2019-04-16 16:11:01 +02:00
abg-version.h.in Add --version option to several libabigail tools 2015-11-16 12:54:10 +01:00
abg-viz-common.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-viz-dot.h viz-dot: remove unused members from dot 2019-04-16 16:11:01 +02:00
abg-viz-svg.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-workers.h Update copyright for 2019 2019-01-07 14:54:47 +01:00
abg-writer.h abg-writer: drop deprecated API 2019-05-22 14:33:45 +02:00
Makefile.am Allow several kinds of reports to be emitted 2017-10-06 12:33:50 +02:00