Track ashmem memory usage in Parcel

Bug: 25004154
Change-Id: Id9d5656dd0605f1b50525596b75601309f67ebdc
diff --git a/include/binder/Parcel.h b/include/binder/Parcel.h
index 3ada1e9..220a935 100644
--- a/include/binder/Parcel.h
+++ b/include/binder/Parcel.h
@@ -342,9 +342,11 @@
 
 private:
     size_t mBlobAshmemSize;
+    size_t mOpenAshmemSize;
 
 public:
     size_t getBlobAshmemSize() const;
+    size_t getOpenAshmemSize() const;
 };
 
 // ---------------------------------------------------------------------------
@@ -412,9 +414,9 @@
 
 // Generic acquire and release of objects.
 void acquire_object(const sp<ProcessState>& proc,
-                    const flat_binder_object& obj, const void* who);
+                    const flat_binder_object& obj, const void* who, size_t* outAshmemSize);
 void release_object(const sp<ProcessState>& proc,
-                    const flat_binder_object& obj, const void* who);
+                    const flat_binder_object& obj, const void* who, size_t* outAshmemSize);
 
 void flatten_binder(const sp<ProcessState>& proc,
                     const sp<IBinder>& binder, flat_binder_object* out);