Author: njn Date: 2006-03-27 12:37:07 +0100 (Mon, 27 Mar 2006) New Revision: 5791 Log: Merge in the COMPVBITS branch to the trunk. This is a big change to Memcheck, replacing the 9-bits-per-byte shadow memory representation to a 2-bits-per-byte representation (with possibly a little more on the side) = by taking advantage of the fact that extremely few memory bytes are partiall= y defined. For the SPEC2k benchmarks with "test" inputs, this speeds up Memcheck by = a (geometric mean) factor of 1.20, and reduces the size of shadow memory by= a (geometric mean) factor of 4.26. At the same time, Addrcheck is removed. It hadn't worked for quite some time, and with these improvements in Memcheck its raisons-d'etre have shrivelled so much that it's not worth the effort to keep around. Hooray= ! Nb: this code hasn't been tested on PPC. If things go wrong, look first = in the fast stack-handling functions (eg. mc_new_mem_stack_160, MC_(helperc_MAKE_STACK_UNINIT)). Added: trunk/memcheck/mc_leakcheck.c trunk/memcheck/mc_malloc_wrappers.c trunk/memcheck/mc_replace_strmem.c trunk/memcheck/tests/pdb-realloc.c trunk/memcheck/tests/pdb-realloc.stderr.exp trunk/memcheck/tests/pdb-realloc.vgtest trunk/memcheck/tests/pointer-trace.stderr.exp3 trunk/memcheck/tests/sh-mem.c trunk/memcheck/tests/sh-mem.stderr.exp trunk/memcheck/tests/sh-mem.vgtest Removed: trunk/addrcheck/ trunk/memcheck/mac_leakcheck.c trunk/memcheck/mac_malloc_wrappers.c trunk/memcheck/mac_replace_strmem.c trunk/memcheck/mac_shared.c trunk/memcheck/mac_shared.h Modified: trunk/Makefile.am trunk/auxprogs/gen-mdg trunk/configure.in trunk/coregrind/m_coredump/coredump-elf.c trunk/coregrind/m_main.c trunk/coregrind/pub_core_aspacemgr.h trunk/docs/internals/xml-output.txt trunk/docs/xml/FAQ.xml trunk/docs/xml/manual-core.xml trunk/docs/xml/manual-intro.xml trunk/docs/xml/manual.xml trunk/docs/xml/writing-tools.xml trunk/glibc-2.2.supp trunk/glibc-2.3.supp trunk/include/pub_tool_aspacemgr.h trunk/include/pub_tool_libcbase.h trunk/include/pub_tool_signals.h trunk/memcheck/Makefile.am trunk/memcheck/docs/mc-manual.xml trunk/memcheck/mc_include.h trunk/memcheck/mc_main.c trunk/memcheck/mc_translate.c trunk/memcheck/memcheck.h trunk/memcheck/tests/Makefile.am trunk/memcheck/tests/addressable.c trunk/memcheck/tests/filter_stderr trunk/memcheck/tests/leak-cycle.c trunk/memcheck/tests/memcmptest.stderr.exp trunk/memcheck/tests/memcmptest.stderr.exp2 trunk/memcheck/tests/nanoleak.supp trunk/memcheck/tests/overlap.stderr.exp trunk/memcheck/tests/strchr.stderr.exp trunk/memcheck/tests/strchr.stderr.exp2 trunk/memcheck/tests/x86/scalar.c trunk/none/tests/filter_fdleak trunk/tests/vg_regtest.in trunk/xfree-3.supp trunk/xfree-4.supp [... diff too large to include ...] |