mirror of
git://sourceware.org/git/libabigail.git
synced 2024-12-15 22:44:41 +00:00
6149fb02d0
Whenever we see a function type inside a translation unit, if it matches one that has already been seen -- i.e, one that has the same textual representation -- we should be able to re-use that same function type without having to compare their types to be sure they are the same, as part of the type canonicalization process. This slittly increases analysis speed (by a few tens of seconds on a total of 8 minutes) by decreasing the load on type canonicalization when anlyzing vmlinux. It also slightly reduces memory consumption, so I am getting it in for now. * src/abg-dwarf-reader.cc (istring_fn_type_map_type): Declare new typedef. (die_is_function_type): Define new static function. (read_context::per_tu_repr_to_fn_type_maps_): Define new data member ... (read_context::per_tu_repr_to_fn_type_maps): ... and its accessor. (read_context::{associate_die_repr_to_fn_type_per_tu, lookup_fn_type_from_die_repr_per_tu}): Define new member functions. (build_function_type): Use the new read_context::lookup_fn_type_from_die_repr_per_tu and read_context::associate_die_repr_to_fn_type_per_tu functions, instead of read_context::lookup_type_from_die. * tests/data/test-annotate/test13-pr18894.so.abi: Adjust. * tests/data/test-annotate/test14-pr18893.so.abi: Adjust. * tests/data/test-annotate/test21-pr19092.so.abi: Adjust. * tests/data/test-read-dwarf/test13-pr18894.so.abi: Adjust. * tests/data/test-read-dwarf/test14-pr18893.so.abi: Adjust. * tests/data/test-read-dwarf/test16-pr18904.so.abi: Adjust. * tests/data/test-read-dwarf/test21-pr19092.so.abi: Adjust. Signed-off-by: Dodji Seketeli <dodji@redhat.com> |
||
---|---|---|
.. | ||
data | ||
.gitignore | ||
Makefile.am | ||
mockfedabipkgdiff.in | ||
print-diff-tree.cc | ||
runtestcanonicalizetypes.sh.in | ||
runtestdefaultsupprs.py.in | ||
runtestdefaultsupprspy3.sh.in | ||
runtestfedabipkgdiff.py.in | ||
runtestfedabipkgdiffpy3.sh.in | ||
test-abicompat.cc | ||
test-abidiff-exit.cc | ||
test-abidiff.cc | ||
test-alt-dwarf-file.cc | ||
test-annotate.cc | ||
test-core-diff.cc | ||
test-diff2.cc | ||
test-diff-dwarf-abixml.cc | ||
test-diff-dwarf.cc | ||
test-diff-filter.cc | ||
test-diff-pkg.cc | ||
test-diff-suppr.cc | ||
test-dot.cc | ||
test-ini.cc | ||
test-ir-walker.cc | ||
test-lookup-syms.cc | ||
test-read-dwarf.cc | ||
test-read-write.cc | ||
test-svg.cc | ||
test-types-stability.cc | ||
test-utils.cc | ||
test-utils.h | ||
test-valgrind-suppressions.supp | ||
test-write-read-archive.cc | ||
update-test-output.py |