< prev index next >

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java

Print this page

        

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License version 2 only, as
  * published by the Free Software Foundation.

@@ -35,10 +35,11 @@
 import sun.jvm.hotspot.gc.cms.*;
 import sun.jvm.hotspot.gc.shared.*;
 import sun.jvm.hotspot.gc.epsilon.*;
 import sun.jvm.hotspot.gc.g1.*;
 import sun.jvm.hotspot.gc.parallel.*;
+import sun.jvm.hotspot.gc.z.*;
 import sun.jvm.hotspot.memory.*;
 import sun.jvm.hotspot.runtime.*;
 import sun.jvm.hotspot.types.*;
 import sun.jvm.hotspot.utilities.*;
 

@@ -441,10 +442,18 @@
         g1h.heapRegionIterate(lrc);
     } else if (heap instanceof EpsilonHeap) {
        EpsilonHeap eh = (EpsilonHeap) heap;
        liveRegions.add(eh.space().top());
        liveRegions.add(eh.space().bottom());
+    } else if (heap instanceof ZCollectedHeap) {
+        ZCollectedHeap zh = (ZCollectedHeap) heap;
+        zh.heap().pageTable().pageTableIterate(p -> {
+            if (p.refcount() > 0 ) {
+                liveRegions.add(ZGlobals.ZAddressSpaceStart.addOffsetTo(p.start()));
+                liveRegions.add(ZGlobals.ZAddressSpaceStart.addOffsetTo(p.top()));
+            }
+        });
     } else {
        if (Assert.ASSERTS_ENABLED) {
           Assert.that(false, "Unexpected CollectedHeap type: " + heap.getClass().getName());
        }
     }
< prev index next >