Wire in the DDMS heap stuff.
(It's still UNIMPLEMENTED at the bottom, though.)
Change-Id: I0f4c1c90cafb48b045685ae67300170fd696f386
diff --git a/src/debugger.h b/src/debugger.h
index 270b62a..a818a48 100644
--- a/src/debugger.h
+++ b/src/debugger.h
@@ -73,6 +73,9 @@
static void StartJdwp();
static void StopJdwp();
+ // Invoked by the GC in case we need to keep DDMS informed.
+ static void GcDidFinish();
+
// Return the DebugInvokeReq for the current thread.
static DebugInvokeReq* GetInvokeReq();
@@ -235,6 +238,27 @@
static void DdmDisconnected();
static void DdmSendChunk(int type, size_t len, const uint8_t* buf);
static void DdmSendChunkV(int type, const struct iovec* iov, int iovcnt);
+
+ enum HpifWhen {
+ HPIF_WHEN_NEVER = 0,
+ HPIF_WHEN_NOW = 1,
+ HPIF_WHEN_NEXT_GC = 2,
+ HPIF_WHEN_EVERY_GC = 3
+ };
+ static int DdmHandleHpifChunk(HpifWhen when);
+
+ enum HpsgWhen {
+ HPSG_WHEN_NEVER = 0,
+ HPSG_WHEN_EVERY_GC = 1,
+ };
+ enum HpsgWhat {
+ HPSG_WHAT_MERGED_OBJECTS = 0,
+ HPSG_WHAT_DISTINCT_OBJECTS = 1,
+ };
+ static bool DdmHandleHpsgNhsgChunk(HpsgWhen when, HpsgWhat what, bool native);
+
+ static void DdmSendHeapInfo(HpifWhen reason, bool shouldLock);
+ static void DdmSendHeapSegments(bool shouldLock, bool native);
};
#define CHUNK_TYPE(_name) \