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
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 partially
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)).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5791
Also expands pathname arguments as strings in a lot more system call
trace messages and fixed the poll wrapper to not be x86 specific.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5785
caused hardwired Actives to be discarded at the first call to
VG_(redir_notify_delete_SegInfo). This causes crashes on amd64-linux
by throwing away the hardwired redirections
0xFFFFFFFFFF600000 -> VG_(amd64_linux_REDIR_FOR_vgettimeofday)
0xFFFFFFFFFF600400 -> VG_(amd64_linux_REDIR_FOR_vtime)
which I'm sure got mentioned at some point recently, but I cannot find
the email now.
Bug does not affect 3.1.X, since that line contains the old m_redir.c
implementation.
Bug does not affect any platform other than amd64-linux since no
others have hardwired Actives at the start.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5750
* test all wrapped-function arities from 0 to 12
* try hard to run both callers and callees out of integer registers,
so as to detect problems where the CALL_FN_* macros do not
properly save registers around the call
This will cause failure in building the regtests on all non-x86
platforms. Will fix shortly.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5747