]>
git.ipfire.org Git - thirdparty/valgrind.git/log
Julian Seward [Mon, 28 Mar 2011 16:26:42 +0000 (16:26 +0000)]
Fix up most but not all warnings generated by gcc-4.6 about
dead assignments ("[-Wunused-but-set-variable]").
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11673
Tom Hughes [Mon, 28 Mar 2011 13:51:41 +0000 (13:51 +0000)]
Use two separate assembler argument bindings for loading or storing
a value in an xmm register as trying to do it with offsets from a
single argument apparently causes problems in newer gcc versions.
Fix to bug #266931.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11672
Tom Hughes [Mon, 28 Mar 2011 13:08:52 +0000 (13:08 +0000)]
Fix generated assembler which writes the result to memory to correctly
use an =m constraint to indicate that the address will be written to.
Partial fix to bug #266931.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11671
Julian Seward [Mon, 28 Mar 2011 09:12:55 +0000 (09:12 +0000)]
Fix broken inline assembly preventing compilation on RHEL6.
Fixes #256703. (Jakub Jelinek, jakub@redhat.com)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11670
Julian Seward [Mon, 28 Mar 2011 08:37:19 +0000 (08:37 +0000)]
Fix broken inline asm in these tests. Fixes #256726.
(Jakub Jelinek, jakub@redhat.com)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11669
Julian Seward [Mon, 28 Mar 2011 08:22:55 +0000 (08:22 +0000)]
Intercept strlen in ld.so on x86. Fixes #266961.
(Jakub Jelinek, jakub@redhat.com)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11668
Julian Seward [Sat, 26 Mar 2011 07:30:39 +0000 (07:30 +0000)]
Add a test case for non-overwriting of CC_NDEP in shifts by zero.
See #269354. (Stephen McCamant, smcc@CS.Berkeley.EDU)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11667
Bart Van Assche [Fri, 25 Mar 2011 20:07:25 +0000 (20:07 +0000)]
Add VALGRIND_RESIZEINPLACE_BLOCK() and hence close #267819.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11666
Bart Van Assche [Thu, 24 Mar 2011 20:27:54 +0000 (20:27 +0000)]
Test separately whether g++ and/or gcc support built-in functions for atomic
memory access. Apparently for some distributions gcc 4.2 has that support but
g++ 4.2 doesn't. This patch has been supplied by Florian Krohm.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11665
Julian Seward [Thu, 24 Mar 2011 11:34:12 +0000 (11:34 +0000)]
Add support for sys_ptrace. Fixes #269079.
(Ulrich Weigand, uweigand@de.ibm.com)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11664
Julian Seward [Thu, 24 Mar 2011 11:33:00 +0000 (11:33 +0000)]
Definitions relating to ptrace: replace bogus x86 versions with
arm specific versions. Partial fix for #269079.
(Ulrich Weigand, uweigand@de.ibm.com)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11663
Julian Seward [Thu, 24 Mar 2011 08:58:42 +0000 (08:58 +0000)]
Test improvements for FLOGR. Part of #268715.
(Florian Krohm, britzel@acm.org)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11662
Bart Van Assche [Fri, 18 Mar 2011 18:42:52 +0000 (18:42 +0000)]
Updated Subversion ignore list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11656
Bart Van Assche [Fri, 18 Mar 2011 17:47:38 +0000 (17:47 +0000)]
Linux/ppc: Added support for the ppoll() system call.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11655
Julian Seward [Thu, 17 Mar 2011 19:39:55 +0000 (19:39 +0000)]
When handling client munmaps and mprotects with r=0 & w=0, actually
paint the relevant address range as NoAccess rather than ignoring the
event. This is important for avoiding VTS leaks in libhb_core.
More details in comments in the code.
Also rename the _noaccess_ painters that do nothing to make it clearer
that they do nothing :-)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11654
Bart Van Assche [Thu, 17 Mar 2011 11:01:00 +0000 (11:01 +0000)]
Removed an obsolete configure test.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11653
Bart Van Assche [Thu, 17 Mar 2011 11:00:11 +0000 (11:00 +0000)]
Replaced a Unicode character by an ASCII character in a source code comment.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11652
Bart Van Assche [Thu, 17 Mar 2011 10:57:49 +0000 (10:57 +0000)]
Moved two Linux-specific syscalls to the linux subdirectory.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11651
Bart Van Assche [Thu, 17 Mar 2011 10:50:33 +0000 (10:50 +0000)]
Updated Subversion ignore list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11650
Bart Van Assche [Thu, 17 Mar 2011 10:24:53 +0000 (10:24 +0000)]
Fixed a recently introduced compiler warning.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11649
Bart Van Assche [Thu, 17 Mar 2011 10:18:22 +0000 (10:18 +0000)]
Un-break drd/tests/tc23_bogus_condwait.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11648
Bart Van Assche [Thu, 17 Mar 2011 07:45:46 +0000 (07:45 +0000)]
Yet another attempt to make the timerfd-syscall test reliable.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11647
Bart Van Assche [Thu, 17 Mar 2011 07:39:00 +0000 (07:39 +0000)]
Replaced busy-waiting by waiting on a condition variable.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11646
Julian Seward [Wed, 16 Mar 2011 10:44:13 +0000 (10:44 +0000)]
Fix compile warnings (missing prototypes for malloc, or some such).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11645
Julian Seward [Tue, 15 Mar 2011 08:13:08 +0000 (08:13 +0000)]
Some fixes for the faultstatus testcase. Fixes #253206.
(Christian Borntraeger, borntraeger@de.ibm.com)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11644
Julian Seward [Mon, 14 Mar 2011 09:53:44 +0000 (09:53 +0000)]
Build fix for older s390x-linux assemblers. Fixes #264800.
(Florian Krohm, britzel@acm.org)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11643
Bart Van Assche [Sun, 13 Mar 2011 12:02:44 +0000 (12:02 +0000)]
Updated modeline and copyright statement in DRD source files.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11642
Bart Van Assche [Sun, 13 Mar 2011 09:42:56 +0000 (09:42 +0000)]
Avoid that small time variations make the timerfd-syscall regression test fail.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11641
Bart Van Assche [Sun, 13 Mar 2011 09:08:10 +0000 (09:08 +0000)]
DRD: Report an error if --free-is-write=yes is used on a program invoking custom memory allocator client requests.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11640
Bart Van Assche [Sun, 13 Mar 2011 09:04:21 +0000 (09:04 +0000)]
Added yet another regression test.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11639
Bart Van Assche [Sat, 12 Mar 2011 16:28:29 +0000 (16:28 +0000)]
read_and_free_race test: Reduced number of stack frames to three.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11638
Bart Van Assche [Sat, 12 Mar 2011 16:10:33 +0000 (16:10 +0000)]
Added more regression tests.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11637
Bart Van Assche [Sat, 12 Mar 2011 14:26:01 +0000 (14:26 +0000)]
DRD: Restored --free-is-write support and fixed the bug that was present in the previous implementation. Still needs further testing though.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11636
Bart Van Assche [Sat, 12 Mar 2011 14:07:09 +0000 (14:07 +0000)]
DRD: Added command-line option --trace-hb for tracing ANNOTATE_HAPPENS_BEFORE()/AFTER().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11635
Bart Van Assche [Sat, 12 Mar 2011 14:02:06 +0000 (14:02 +0000)]
Added --free-is-write stress test.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11634
Bart Van Assche [Sat, 12 Mar 2011 12:43:39 +0000 (12:43 +0000)]
DRD: Always invoke VG_(cli_free)() before the stop_using_mem callback.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11633
Bart Van Assche [Sat, 12 Mar 2011 12:37:46 +0000 (12:37 +0000)]
DRD: Fixed an assertion failure triggered by setting the environment variable DRD_VERIFY_CONFLICT_SET. This environment variable is a debugging help.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11632
Bart Van Assche [Sat, 12 Mar 2011 12:34:44 +0000 (12:34 +0000)]
DRD: More source code cleanup (constant propagation).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11631
Bart Van Assche [Sat, 12 Mar 2011 11:01:06 +0000 (11:01 +0000)]
DRD: Allocate thread arguments again on the stack.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11630
Bart Van Assche [Sat, 12 Mar 2011 10:37:18 +0000 (10:37 +0000)]
Updated Subversion ignore list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11629
Bart Van Assche [Sat, 12 Mar 2011 10:36:35 +0000 (10:36 +0000)]
Added AC_LANG_SOURCE() invocations where appropriate.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11628
Julian Seward [Fri, 11 Mar 2011 21:06:59 +0000 (21:06 +0000)]
Add free-is-write functionality (experimental, not enabled by default).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11627
Julian Seward [Fri, 11 Mar 2011 20:02:47 +0000 (20:02 +0000)]
Use DRD's annotate_smart_pointer regtest to check against regressions
of #243935.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11626
Julian Seward [Fri, 11 Mar 2011 19:10:48 +0000 (19:10 +0000)]
NB: this is an temporary fix, until such time as bug 243935 is fully
resolved.
Add a client request, ANNOTATE_HAPPENS_BEFORE_FORGET_ALL, to notify
Helgrind that it can forget about any h-b edges previously associated
with the specified tag, and release associated resources.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11625
Julian Seward [Fri, 11 Mar 2011 18:38:12 +0000 (18:38 +0000)]
Change the semantics of ANNOTATE_HAPPENS_BEFORE from 'overwrite' to
'add' behaviour, w.r.t. any h-b edges associated with the
synchronisation object prior to the call. This brings the behaviour
into line with DRD and TSan, and is required for correct annotation of
thread safe reference counting. It fixes #243935 -- at least, the
original bug as discussed in comments 0 and 2.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11624
Julian Seward [Thu, 10 Mar 2011 21:34:21 +0000 (21:34 +0000)]
Followup to r11619: more tidying up w.r.t. the renaming of
'struct _Thr :: opaque' to 'struct _Thr :: hgthread'.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11623
Julian Seward [Thu, 10 Mar 2011 17:40:22 +0000 (17:40 +0000)]
Cleanup: get rid of univ_tsets as it is no longer needed.
Also, fix bug in del_LockN (segfault when the deleted lock is
the last in the list) exposed by r11620. (Prior to r11620,
the last lock in the list was never deleted.)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11622
Julian Seward [Thu, 10 Mar 2011 15:21:40 +0000 (15:21 +0000)]
Cleanup: get rid of 'last lock lossage' mechanism, which is commented
out and no longer relevant.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11621
Julian Seward [Thu, 10 Mar 2011 15:20:10 +0000 (15:20 +0000)]
Cleanup: get rid of all mention of a Hardware Bus Lock. This
no longer exists.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11620
Julian Seward [Thu, 10 Mar 2011 15:14:37 +0000 (15:14 +0000)]
Minor cleanup (no functional change): rename 'struct _Thr :: opaque'
to 'hgthread', since that's what it is really.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11619
Julian Seward [Thu, 10 Mar 2011 15:01:14 +0000 (15:01 +0000)]
Bring avg translation size statement closer to reality, for
amd64-linux with --smc-check=all. 350 would be better, but H already
soaks up so much space that a low-side of 320 seems prudent.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11618
Bart Van Assche [Thu, 10 Mar 2011 12:49:50 +0000 (12:49 +0000)]
Process PDB files with a path that contains spaces properly.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11617
Julian Seward [Thu, 10 Mar 2011 12:36:09 +0000 (12:36 +0000)]
'make dist' fixes following s390x-linux merge. (Christian Borntraeger
<borntraeger@de.ibm.com>)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11616
Bart Van Assche [Wed, 9 Mar 2011 18:27:25 +0000 (18:27 +0000)]
DRD: Added an output variant for test pth_detached3.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11615
Bart Van Assche [Wed, 9 Mar 2011 17:53:28 +0000 (17:53 +0000)]
DRD: Report an error if an invalid argument is passed to pthread_detach(). Do not assume that pthread_detach() returns an error code if its argument is invalid. Should fix #267968.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11614
Bart Van Assche [Wed, 9 Mar 2011 17:50:34 +0000 (17:50 +0000)]
DRD: Added a regression test.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11613
Bart Van Assche [Tue, 8 Mar 2011 18:34:44 +0000 (18:34 +0000)]
DRD: Fixed a race condition triggered by invoking pthread_detach() with an argument not equal to pthread_self(). Potential fix for #267968.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11612
Bart Van Assche [Tue, 8 Mar 2011 18:32:36 +0000 (18:32 +0000)]
DRD: Removed an obsolete comment.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11611
Bart Van Assche [Tue, 8 Mar 2011 17:53:45 +0000 (17:53 +0000)]
DRD: Source code cleanup.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11610
Julian Seward [Mon, 7 Mar 2011 19:13:33 +0000 (19:13 +0000)]
Replace the structural equality function for WordVecs with a more
efficient one. n-i-bz.
(Philippe Waroquiers, philippe.waroquiers@skynet.be).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11609
Bart Van Assche [Mon, 7 Mar 2011 18:28:38 +0000 (18:28 +0000)]
Updated Subversion ignore list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11608
Bart Van Assche [Mon, 7 Mar 2011 18:00:26 +0000 (18:00 +0000)]
Added file header and adjusted indentation.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11607
Julian Seward [Mon, 7 Mar 2011 16:48:15 +0000 (16:48 +0000)]
Make this executable.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11606
Julian Seward [Mon, 7 Mar 2011 16:42:02 +0000 (16:42 +0000)]
Unbreak 'make dist' following recent commits.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11605
Julian Seward [Mon, 7 Mar 2011 16:05:35 +0000 (16:05 +0000)]
Add a port to IBM z/Architecture (s390x) running Linux -- Valgrind
side components. (Florian Krohm <britzel@acm.org> and Christian
Borntraeger <borntraeger@de.ibm.com>). Fixes #243404.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11604
Bart Van Assche [Sun, 6 Mar 2011 17:37:04 +0000 (17:37 +0000)]
DRD/Darwin: Generalized a suppression pattern.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11603
Bart Van Assche [Sun, 6 Mar 2011 17:28:16 +0000 (17:28 +0000)]
DRD/Darwin: Added more suppression patterns.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11602
Bart Van Assche [Sun, 6 Mar 2011 17:27:42 +0000 (17:27 +0000)]
Memcheck/Darwin: Added a suppression pattern.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11601
Bart Van Assche [Sun, 6 Mar 2011 17:22:08 +0000 (17:22 +0000)]
DRD/Darwin: Suppress even more races triggered by the dynamic loader.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11600
Bart Van Assche [Sun, 6 Mar 2011 17:21:21 +0000 (17:21 +0000)]
DRD/Darwin: Added an expected output file.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11599
Bart Van Assche [Sun, 6 Mar 2011 16:33:46 +0000 (16:33 +0000)]
DRD/Darwin: cleaned up dyld suppression pattern list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11598
Bart Van Assche [Sun, 6 Mar 2011 16:33:08 +0000 (16:33 +0000)]
DRD/Darwin: Ignore races triggered by the dynamic loader (dyld) lazy binding mechanism.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11597
Bart Van Assche [Sun, 6 Mar 2011 12:39:12 +0000 (12:39 +0000)]
DRD: Added a (non-functional so far) file drd_darwin_intercepts.c.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11596
Bart Van Assche [Sat, 5 Mar 2011 16:00:53 +0000 (16:00 +0000)]
DRD: added initial suppression list for Darwin 10.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11595
Bart Van Assche [Sat, 5 Mar 2011 15:43:39 +0000 (15:43 +0000)]
Helgrind tests: ported tests tc23 and tc24 to Darwin/amd64 too.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11594
Bart Van Assche [Sat, 5 Mar 2011 15:42:44 +0000 (15:42 +0000)]
DRD: Filter out PID from the semaphore name in the regression test output.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11593
Bart Van Assche [Sat, 5 Mar 2011 15:14:50 +0000 (15:14 +0000)]
helgrind/tests/tc17_sembar: Works now on Darwin/amd64 too.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11592
Bart Van Assche [Sat, 5 Mar 2011 14:51:24 +0000 (14:51 +0000)]
DRD, Darwin: avoid triggering misaligned stack errors. Fixes #267552.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11591
Bart Van Assche [Sat, 5 Mar 2011 14:49:12 +0000 (14:49 +0000)]
DRD tests, Darwin: check return value of sem_open().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11590
Bart Van Assche [Sat, 5 Mar 2011 14:11:40 +0000 (14:11 +0000)]
DRD tests: replaced __APPLE__ by VGO_darwin.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11589
Bart Van Assche [Sat, 5 Mar 2011 12:12:04 +0000 (12:12 +0000)]
Darwin: Re-enabled four regression tests.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11588
Bart Van Assche [Sat, 5 Mar 2011 12:11:28 +0000 (12:11 +0000)]
Darwin: Build fixes for four regression tests by Rich Coe (see also #267488).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11587
Bart Van Assche [Sat, 5 Mar 2011 10:11:35 +0000 (10:11 +0000)]
Skip test programs that do not build on Darwin.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11586
Bart Van Assche [Sat, 5 Mar 2011 10:10:24 +0000 (10:10 +0000)]
Updated Subversion ignore lists.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11585
Bart Van Assche [Sat, 5 Mar 2011 10:09:27 +0000 (10:09 +0000)]
Updated Subversion ignore lists.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11584
Bart Van Assche [Sat, 5 Mar 2011 10:00:38 +0000 (10:00 +0000)]
Updated Subversion ignore list.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11583
Bart Van Assche [Sat, 5 Mar 2011 09:05:47 +0000 (09:05 +0000)]
DRD: Fixed a Darwin-specific compiler warning
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11582
Josef Weidendorfer [Fri, 4 Mar 2011 17:11:35 +0000 (17:11 +0000)]
Quick fix to always correctly update <passed> in setup_bbcc
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11581
Bart Van Assche [Fri, 4 Mar 2011 16:55:56 +0000 (16:55 +0000)]
<valgrind/valgrind.h>: Made VALGRIND_PRINTF() and VALGRIND_PRINTF_BACKTRACE() definitions (with NVALGRIND defined) C89-compliant.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11580
Josef Weidendorfer [Fri, 4 Mar 2011 10:53:12 +0000 (10:53 +0000)]
Fix for bug 265771.
For calls (structure jCC), Callgrind maintains for the source
both the BBCC (counter array for the source context of the call, which
includes the BB of the source call position), as well as a jump
number in the source BB to reconstruct the guest instruction address
of the call. In setup_bbcc, this jump number is stored in <passed>, and
used when creating a new jCC on a call.
The value of <passed> got out of sync when we simulate a real jump
between different functions as return/call pair: the call source was
reset for the popped jCC, but not <passed>.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11579
Bart Van Assche [Thu, 3 Mar 2011 19:59:20 +0000 (19:59 +0000)]
DRD: avoid triggering an assertion failure if a thread is canceled while waiting inside pthread_mutex_lock(). Fixes #267413.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11578
Julian Seward [Mon, 28 Feb 2011 10:26:42 +0000 (10:26 +0000)]
Fix minor documentation nits (Michael Snyder, msnyder@vmware.com)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11577
Julian Seward [Mon, 28 Feb 2011 09:25:12 +0000 (09:25 +0000)]
rm pointless comment and #define.
(Philippe Waroquiers, philippe.waroquiers@skynet.be)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11576
Julian Seward [Mon, 28 Feb 2011 09:22:51 +0000 (09:22 +0000)]
Fix sanity check crash in Helgrind. Partial fix for #255353.
(Philippe Waroquiers, philippe.waroquiers@skynet.be)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11575
Julian Seward [Mon, 28 Feb 2011 09:03:44 +0000 (09:03 +0000)]
Don't construct the LAOG at all when --track-lockorders=no (as opposed
to previous behaviour, in which it was constructed but any resulting
errors were not shown, hence wasting CPU and memory.) Partial fix
for #255353. (Philippe Waroquiers, philippe.waroquiers@skynet.be)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11574
Julian Seward [Sun, 27 Feb 2011 23:53:32 +0000 (23:53 +0000)]
Back out r11568 (Add a new constructor for empty XArrays,
VG_(newSizedXA)) since r11571 removes the only use of the
functionality that r11568 introduces.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11573
Julian Seward [Sun, 27 Feb 2011 23:39:53 +0000 (23:39 +0000)]
Simplify the implementation of VTS__tick. The previous version was
hard to understand, and had no comments re loop invariants etc.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11572
Julian Seward [Sun, 27 Feb 2011 23:04:12 +0000 (23:04 +0000)]
Change the representation of VTSs. Instead of using an XArray of
ScalarTSs, have the ScalarTS array as a trailing array directly on the
VTS structure. This reduces the number of malloc'd blocks per VTS
from 3 to 1, since an XArray always requires 2 malloc'd blocks. At
least for tc19_shadowmem this reduces the total amount of heap
turnover in Arena 'tool' by a factor of 3, and modestly improves
performance whilst modestly reducing overall memory use.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11571
Julian Seward [Thu, 24 Feb 2011 15:25:24 +0000 (15:25 +0000)]
Scalability fix for Helgrind: reduce the size of ScalarTS (scalar
timestamps) from 16 to 8 bytes. This halves the size of vector
timestamps and reduces the amount of memory needed to run programs
that have many threads and/or many synchronisation events.
The tradeoff is that Helgrind must abort the run if the program
creates more than 2^20 (1.0e+6) threads or performs more than 2^44
(1.76e+13) synchronisation events. Neither of these seem like a
significant limitation in practice. It's easy to argue that a limit
of 2^44 synch events would take at a minimum, several CPU months on a
very fast machine.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11570
Julian Seward [Wed, 23 Feb 2011 13:30:53 +0000 (13:30 +0000)]
A scalability fix for Helgrind for running large workloads. When
creating new vector timestamps (VTSs) via tick and join operations,
preallocate the underlying XArray of ScalarTSs (scalar timestamps) at
the likely final size, using new function VG_(newSizedXA) introduced
in r11558. This reduces overall heap turnover (in VG_AR_TOOL) by a
factor of several. Together with revs 11567 and 11568, it mitigates
the worst-case performance falloff in long runs that involve lots of
threads and lots of synchronisation events (a.k.a Vector timestamps).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11569