History log of /external/valgrind/memcheck/tests/mempool.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
06bc722457ffe12e056d2f40d0d2f5c8711b541f 02-Oct-2013 florian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9> Silence clang warnings about uninitialised and unused values in
memcheck testcases.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13599 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/mempool.c
29a5c01528ca7cffe17880a038b4563de920f08d 06-May-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Fix bug #191182, where printing the leak checker results was really slow if
there were a lot of loss records.

The fix was:
- Avoid the O(m * n) looping over the chunks when creating the loss
records, by putting loss records into an OSet instead of a list, which
makes duplicate detection for each chunk an O(log n) operation instead of
an O(n) operation.
- Avoid the looping over loss records which was used to do a poor
man's sort, but was O(n^2). Instead copy pointers to the loss records
from the OSet into an array and sort it normally with VG_(ssort) (n log n,
usually) before printing.

This approach was similar to that used in the patch Philippe attached to the
bug report.

Other changes:
- Added Philippe's test programs in the new memcheck/perf directory. It
used to take 57s on my machine, now it takes 1.6s.
- Cleaned up massif/perf/Makefile.am to be consistent with other Makefiles.
- Improved some comments relating to VgHashTable and OSet.
- Avoided a redundant traversal of the hash table in VG_(HT_to_array), also
identified by Philippe..
- Made memcheck/tests/mempool's results independent of the pointer size, and
thus was able to remove its .stderr.exp64 file.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9781 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/mempool.c
83b62cbbab29bde83eba40231f307c2a311e73c8 15-Apr-2009 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Merge r9533..9536 (add tests/{asm.h,sys_mman.h,malloc.h} from the DARWIN
branch.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9537 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/mempool.c
dbf7ca71128c6787ba8a99cbd03c3773ff572d96 31-Mar-2006 njn <njn@a5019735-40e9-0310-863c-91ae7b9d1cf9> Terminology change: previously in Memcheck we had the four states:

noaccess, writable, readable, other

Now they are:

noaccess, undefined, defined, partdefined

As a result, the following names:

make_writable, make_readable,
check_writable, check_readable, check_defined

have become:

make_mem_undefined, make_mem_defined,
check_mem_is_addressable, check_mem_is_defined, check_value_is_defined

(and likewise for the upper-case versions for client request macros).
The old MAKE_* and CHECK_* macros still work for backwards compatibility.

This is much better, because the old names were subtly misleading. For
example:

- "readable" really meant "readable and writable".
- "writable" really meant "writable and maybe readable, depending on how
the read value is used".
- "check_writable" really meant "check writable or readable"

The new names avoid these problems.

The recently-added macro which was called MAKE_DEFINED is now
MAKE_MEM_DEFINED_IF_ADDRESSABLE.

I also corrected the spelling of "addressable" in numerous places in
memcheck.h.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5802 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/mempool.c
bc0bb8302c37c0c24aafbcfde0cc96d2c2805c94 19-Jun-2004 rjwalsh <rjwalsh@a5019735-40e9-0310-863c-91ae7b9d1cf9> Memory pool support.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2428 a5019735-40e9-0310-863c-91ae7b9d1cf9
/external/valgrind/memcheck/tests/mempool.c