summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2014-11-11 12:22:53 -0800
committerDianne Hackborn <hackbod@google.com>2014-11-11 16:23:04 -0800
commit7e790af756d7891cb1cf1374bb283a8fbcbe6b49 (patch)
treeaa12e039c68c41b88b76543331ccdcd5d5fcbba8 /include
parent37878b1e57ee25629f0d9aff5edf599afcc8c6eb (diff)
downloadframeworks_native-7e790af756d7891cb1cf1374bb283a8fbcbe6b49.zip
frameworks_native-7e790af756d7891cb1cf1374bb283a8fbcbe6b49.tar.gz
frameworks_native-7e790af756d7891cb1cf1374bb283a8fbcbe6b49.tar.bz2
Add tracking of parcel memory allocations.
Change-Id: I76ffed0e69ccfe70e87d98646f11d4de7c3fd980
Diffstat (limited to 'include')
-rw-r--r--include/binder/Parcel.h6
-rw-r--r--include/private/binder/Static.h7
2 files changed, 11 insertions, 2 deletions
diff --git a/include/binder/Parcel.h b/include/binder/Parcel.h
index 2ee99f8..6a69761 100644
--- a/include/binder/Parcel.h
+++ b/include/binder/Parcel.h
@@ -205,7 +205,11 @@ public:
// Explicitly close all file descriptors in the parcel.
void closeFileDescriptors();
-
+
+ // Debugging: get metrics on current allocations.
+ static size_t getGlobalAllocSize();
+ static size_t getGlobalAllocCount();
+
private:
typedef void (*release_func)(Parcel* parcel,
const uint8_t* data, size_t dataSize,
diff --git a/include/private/binder/Static.h b/include/private/binder/Static.h
index 6a03594..eeb37d7 100644
--- a/include/private/binder/Static.h
+++ b/include/private/binder/Static.h
@@ -34,7 +34,12 @@ extern Vector<int32_t> gTextBuffers;
extern Mutex gProcessMutex;
extern sp<ProcessState> gProcess;
-// For ServiceManager.cpp
+// For Parcel.cpp
+extern Mutex gParcelGlobalAllocSizeLock;
+extern size_t gParcelGlobalAllocSize;
+extern size_t gParcelGlobalAllocCount;
+
+// For IServiceManager.cpp
extern Mutex gDefaultServiceManagerLock;
extern sp<IServiceManager> gDefaultServiceManager;
extern sp<IPermissionController> gPermissionController;