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 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/exp-drd/drd_intercepts.c b/exp-drd/drd_intercepts.c
index fd2ee2b..4c54f5d 100644
--- a/exp-drd/drd_intercepts.c
+++ b/exp-drd/drd_intercepts.c
@@ -40,7 +40,8 @@
    originates from Valgrind.
    ------------------------------------------------------------------ */
 
-// Make sure pthread_spinlock_t is available on glibc 2.3.2 systems.
+// Make sure pthread_spinlock_t is available when compiling with older glibc
+// versions (2.3 or before).
 #ifndef _GNU_SOURCE
 #define _GNU_SOURCE
 #endif
@@ -125,30 +126,7 @@
 {
    int res;
    VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__DRD_START_SUPPRESSION,
-                              p, size, 0, 0, 0);
-}
-
-#if 0
-static void vg_finish_suppression(const void* const p, size_t const size)
-{
-   int res;
-   VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__DRD_FINISH_SUPPRESSION,
-                              p, size, 0, 0, 0);
-}
-#endif
-
-static void vg_start_recording(void)
-{
-   int res;
-   VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__DRD_START_RECORDING,
-                              pthread_self(), 0, 0, 0, 0);
-}
-
-static void vg_stop_recording(void)
-{
-   int res;
-   VALGRIND_DO_CLIENT_REQUEST(res, 0, VG_USERREQ__DRD_STOP_RECORDING,
-                              pthread_self(), 0, 0, 0, 0);
+                              p, (char*)p + size, 0, 0, 0);
 }
 
 static void vg_set_joinable(const pthread_t tid, const int joinable)
@@ -249,9 +227,7 @@
    pthread_cond_init(&vgargs.cond, 0);
    pthread_mutex_lock(&vgargs.mutex);
 #endif
-   vg_stop_recording();
    CALL_FN_W_WWWW(ret, fn, thread, attr, vg_thread_wrapper, &vgargs);
-   vg_start_recording();
 #if 0
    pthread_cond_wait(&vgargs.cond, &vgargs.mutex);
    pthread_mutex_unlock(&vgargs.mutex);