Add a mempool-trimming client request (Graydon Hoare).


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5992 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/memcheck/mc_main.c b/memcheck/mc_main.c
index 0e3096f..026356b 100644
--- a/memcheck/mc_main.c
+++ b/memcheck/mc_main.c
@@ -4053,7 +4053,8 @@
     && VG_USERREQ__CREATE_MEMPOOL   != arg[0]
     && VG_USERREQ__DESTROY_MEMPOOL  != arg[0]
     && VG_USERREQ__MEMPOOL_ALLOC    != arg[0]
-    && VG_USERREQ__MEMPOOL_FREE     != arg[0])
+    && VG_USERREQ__MEMPOOL_FREE     != arg[0]
+    && VG_USERREQ__MEMPOOL_TRIM     != arg[0])
       return False;
 
    switch (arg[0]) {
@@ -4219,6 +4220,15 @@
          return True;
       }
 
+      case VG_USERREQ__MEMPOOL_TRIM: {
+         Addr pool      = (Addr)arg[1];
+         Addr addr      = (Addr)arg[2];
+         UInt size      =       arg[3];
+
+         MC_(mempool_trim) ( pool, addr, size );
+         return True;
+      }
+
       default:
          VG_(message)(Vg_UserMsg, 
                       "Warning: unknown memcheck client request code %llx",