hotspot/src/share/vm/services/memSnapshot.hpp
changeset 14569 96937297368d
parent 14484 901d216b74bf
child 15104 f5d78994619f
--- a/hotspot/src/share/vm/services/memSnapshot.hpp	Tue Nov 13 15:14:27 2012 -0500
+++ b/hotspot/src/share/vm/services/memSnapshot.hpp	Fri Nov 16 09:05:19 2012 -0500
@@ -146,6 +146,23 @@
   // reset current position
   inline void reset() { _pos = 0; }
 #ifdef ASSERT
+  // check integrity of records on current reserved memory region.
+  bool check_reserved_region() {
+    VMMemRegion* reserved_region = (VMMemRegion*)current();
+    assert(reserved_region != NULL && reserved_region->is_reserved_region(),
+          "Sanity check");
+    // all committed regions that follow current reserved region, should all
+    // belong to the reserved region.
+    VMMemRegion* next_region = (VMMemRegion*)next();
+    for (; next_region != NULL && next_region->is_committed_region();
+         next_region = (VMMemRegion*)next() ) {
+      if(!reserved_region->contains_region(next_region)) {
+        return false;
+      }
+    }
+    return true;
+  }
+
   virtual bool is_dup_pointer(const MemPointer* ptr1,
     const MemPointer* ptr2) const {
     VMMemRegion* p1 = (VMMemRegion*)ptr1;