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) \