drd: Refactor functions for starting / stopping to access stack memory
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12331 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/drd/drd_main.c b/drd/drd_main.c
index 789d495..5889f4c 100644
--- a/drd/drd_main.c
+++ b/drd/drd_main.c
@@ -454,13 +454,18 @@
* Assumption: stacks grow downward.
*/
static __inline__
+void drd_start_using_mem_stack2(const DrdThreadId tid, const Addr a,
+ const SizeT len)
+{
+ DRD_(thread_set_stack_min)(tid, a - VG_STACK_REDZONE_SZB);
+ drd_start_using_mem(a - VG_STACK_REDZONE_SZB, len + VG_STACK_REDZONE_SZB,
+ True);
+}
+
+static __inline__
void drd_start_using_mem_stack(const Addr a, const SizeT len)
{
- DRD_(thread_set_stack_min)(DRD_(thread_get_running_tid)(),
- a - VG_STACK_REDZONE_SZB);
- drd_start_using_mem(a - VG_STACK_REDZONE_SZB,
- len + VG_STACK_REDZONE_SZB,
- True);
+ drd_start_using_mem_stack2(DRD_(thread_get_running_tid)(), a, len);
}
/**
@@ -469,14 +474,20 @@
* Assumption: stacks grow downward.
*/
static __inline__
-void drd_stop_using_mem_stack(const Addr a, const SizeT len)
+void drd_stop_using_mem_stack2(const DrdThreadId tid, const Addr a,
+ const SizeT len)
{
- DRD_(thread_set_stack_min)(DRD_(thread_get_running_tid)(),
- a + len - VG_STACK_REDZONE_SZB);
+ DRD_(thread_set_stack_min)(tid, a + len - VG_STACK_REDZONE_SZB);
drd_stop_using_mem(a - VG_STACK_REDZONE_SZB, len + VG_STACK_REDZONE_SZB,
True);
}
+static __inline__
+void drd_stop_using_mem_stack(const Addr a, const SizeT len)
+{
+ drd_stop_using_mem_stack2(DRD_(thread_get_running_tid)(), a, len);
+}
+
static
Bool on_alt_stack(const Addr a)
{