< prev index next >
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ObjectHeap.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2000, 2015, 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.
--- 1,7 ----
/*
! * 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,44 ****
--- 35,45 ----
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,450 ****
--- 442,459 ----
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 >