mirror of
git://sourceware.org/git/libabigail.git
synced 2025-02-12 19:46:53 +00:00
The Git repository of the Libabigail Project
We have introduced type name caching long ago to speed up operations involving type names. Then last year, I was looking at some speed optimization in the xml-writer and I started playing with the caching to quantify the speed impact that early caching could have on emitting writting out the abixml, independantly from the potential accuracy issues that could have. And somehow I accidentally committed one of those experimental patches: https://sourceware.org/git/?p=libabigail.git;a=commit;h=7699dfc921d248fa6d5cbdbeab9d501b17ef3f52. This commit reverts that bogus patch. There should be no speed impact because the writter now de-duplicates types at writting time by "simply" writting out the canonical types, as opposed to the naive approach we were using then. This fixes the bug reported at https://sourceware.org/bugzilla/show_bug.cgi?id=25986 which shows the impact of caching the wrong name of the type, which happens when caching occurs before the type is canonicalized. * src/abg-ir.cc (function_type::get_cached_name): Don't cache names for non-canonicalized types. * tests/data/test-abidiff-exit/test-fun-param-report.txt: Add reference output for new test. * tests/data/test-abidiff-exit/test-fun-param-v{0,1}.abi: Add new test input files. * tests/data/test-abidiff-exit/test-fun-param-v{0,1}.c: Add source files for the above. * tests/data/test-abidiff-exit/test-fun-param-v{0,1}.o: Add binaries for the above. Signed-off-by: Dodji Seketeli <dodji@redhat.com> |
||
---|---|---|
autoconf-archive | ||
bash-completion | ||
doc | ||
include | ||
m4 | ||
scripts | ||
src | ||
tests | ||
tools | ||
.clang-format | ||
.gitignore | ||
abigail.m4 | ||
AUTHORS | ||
ChangeLog | ||
COMMIT-LOG-GUIDELINES | ||
COMPILING | ||
configure.ac | ||
CONTRIBUTING | ||
COPYING | ||
COPYING-GPLV3 | ||
COPYING-LGPLV2 | ||
COPYING-LGPLV3 | ||
default.abignore | ||
gen-changelog.py | ||
install-sh | ||
libabigail.pc.in | ||
ltmain.sh | ||
Makefile.am | ||
NEWS | ||
README | ||
release-text-template.txt | ||
update-copyright.sh | ||
VISIBILITY |
This is the Application Binary Interface Generic Analysis and Instrumentation Library. It aims at constructing, manipulating, serializing and de-serializing ABI-relevant artifacts. The set of artifacts that we are intersted is made of quantities like types, variable, fonctions and declarations of a given library or program. For a given library or program this set of quantities is called an ABI corpus. This library aims at (among other things) providing a way to compare two ABI Corpora (apparently the plural of corpus is copora, heh, that's cool), provide detailed information about their differences, and help build tools to infer interesting conclusions about these differences. You are welcome to contribute to this project after reading the files CONTRIBUTING and COMMIT-LOG-GUIDELINES files in the source tree. Communicating with the maintainers of this project -- including sending patches to be include to the source code -- happens via email at libabigail@sourceware.org.