aboutsummaryrefslogtreecommitdiff
path: root/drd/drd_main.c
diff options
context:
space:
mode:
authorbart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9>2009-03-10 09:25:32 +0000
committerbart <bart@a5019735-40e9-0310-863c-91ae7b9d1cf9>2009-03-10 09:25:32 +0000
commitfdaa018eeb7facf5b36717c68fa1e843cdcbc3f8 (patch)
treef99d55d9ac15620abbde506bd56f284e9e3a6dcc /drd/drd_main.c
parent0d6d5c5a55674ddcf2842ef43f78d80a1095a770 (diff)
downloadvalgrind-fdaa018eeb7facf5b36717c68fa1e843cdcbc3f8.tar.gz
Added DRD_(clean_memory)().
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@9339 a5019735-40e9-0310-863c-91ae7b9d1cf9
Diffstat (limited to 'drd/drd_main.c')
-rw-r--r--drd/drd_main.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drd/drd_main.c b/drd/drd_main.c
index 4ef3bb53c..f580a8215 100644
--- a/drd/drd_main.c
+++ b/drd/drd_main.c
@@ -313,6 +313,17 @@ void drd_stop_using_nonstack_mem(const Addr a1, const SizeT len)
}
/**
+ * Discard all information DRD has about memory accesses and client objects
+ * in the specified address range.
+ */
+void DRD_(clean_memory)(const Addr a1, const SizeT len)
+{
+ const Bool is_stack_memory = DRD_(thread_address_on_any_stack)(a1);
+ drd_stop_using_mem(a1, len, is_stack_memory);
+ drd_start_using_mem(a1, len);
+}
+
+/**
* Suppress data race reports on all addresses contained in .plt and
* .got.plt sections inside the address range [ a, a + len [. The data in
* these sections is modified by _dl_relocate_object() every time a function