Commit Graph

15 Commits

Author SHA1 Message Date
Bart Van Assche
b136f8009f Added thread_get_stack_size() and thread_get_stack_min_min().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7800
2008-03-29 09:27:08 +00:00
Bart Van Assche
fd57d8b1f8 Implemented segment merging.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7750
2008-03-22 09:38:48 +00:00
Bart Van Assche
4bc9d8c635 Added reference counting to segments. Synchronization objects (mutex, semaphore, barrier, rwlock) now keep a pointer to a segment instead of copying a vector clock for modeling causal relationships.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7727
2008-03-17 18:32:39 +00:00
Bart Van Assche
5425ee1fbe Fixed stack red zone handling.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7713
2008-03-16 17:29:20 +00:00
Bart Van Assche
1e97c6854d Removed support for thread names.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7704
2008-03-16 10:42:33 +00:00
Bart Van Assche
a6e5dc8917 Declared thread_set_stack_min() inline.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7698
2008-03-16 08:36:23 +00:00
Bart Van Assche
6bf24b6f09 Even more optimizations.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7678
2008-03-14 17:07:51 +00:00
Bart Van Assche
7c9e606612 Inlined thread_conflicting_access(). Changed thread_get_danger_set() and thread_get_segment() from extern to inline.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7673
2008-03-13 19:03:38 +00:00
Bart Van Assche
1f8899b954 Added inline function running_thread_is_recording(). Removed function thread_is_recording().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7672
2008-03-13 18:49:23 +00:00
Bart Van Assche
bd1e6d9da1 Added support for OpenMP barriers -- if libgomp.so has been built with debug information. More in general, added support for nested synchronization constructs.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7642
2008-03-11 20:10:21 +00:00
Bart Van Assche
1a03c31785 Eliminated per-thread start/stop recording mechanism, which should make DRD a little bit faster. malloc()/free() is now intercepted on all platforms instead of just on i386.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7519
2008-03-01 10:49:37 +00:00
Bart Van Assche
22fb174482 Corrected various comments. Removed commented out code. Added code for tracing thread context switches and danger set updating. Fixed memory leak. Danger set is now updated every time a new segment is created instead of only at every context switch, which fixes the bug that no data races were reported for the pth_barrier test program.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7448
2008-02-24 18:37:08 +00:00
Julian Seward
22b3fe2a3e DRD updates (Bart Van Assche):
- Updated copyright statement: replaced 2006-2007 by 2006-2008.
- Added copyright statement in the files where it was missing
(drd_track.h and drd_clientreq.c)
- Eliminated dependencies on core header files -- there are no more
#include "pub_core....h" directives in the exp-drd source code.
- Added semaphore support.
- Added barrier support.
- Added pthread_mutex_timedlock() support.
- Stack depth of stack traces printed by exp-drd can now be set via
--num-callers=...
- Added command-line option --trace-barrier=[yes|no].
- Added regression test for pthread_barrier() (matinv, a program that
performs matrix inversion).
- Added regression test sem_as_mutex, which tests whether race
detection works correctly when a semaphore is used to ensure mutual
exclusion of critical sections.
- Some of helgrind's regression tests are now used to test both
helgrind and exp-drd: tc17_sembar and tc18_semabuse.
- Cleaned up bitmap implementation code now that the const keyword has
been added to the declarations of the OSet functions.
- Cleaned up exp-drd/Makefile.am
- Updated exp-drd/TODO.txt




git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7346
2008-01-14 11:54:56 +00:00
Julian Seward
de4d2156cc DRD changes (Bart Van Assche)
* Add docs: exp-drd/docs/README.txt
* Added one drd suppression pattern, and cleaned up the suppression file.
* All regression tests now pass on x86_64 and i386, including sigalrm.
* Updated TODO.txt file.
* pth_create_chain test is now started with 100 threads instead of 10
  -- 10 was not enough.
* DRD no longer exits on PPC32 and PPC64 but just prints a warning
  message before it starts.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7275
2007-12-04 21:27:18 +00:00
Julian Seward
dc1dbea937 Add DRD as an experimental tool. Bart Van Assche is the maintainer.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7211
2007-11-25 14:01:38 +00:00