< prev index next >

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/parallel/ParallelScavengeHeap.java

Print this page

        

*** 27,36 **** --- 27,37 ---- import java.io.*; import java.util.*; import sun.jvm.hotspot.debugger.*; import sun.jvm.hotspot.gc.shared.*; + import sun.jvm.hotspot.memory.MemRegion; import sun.jvm.hotspot.runtime.*; import sun.jvm.hotspot.types.*; public class ParallelScavengeHeap extends CollectedHeap { static {
*** 86,95 **** --- 87,125 ---- public CollectedHeapName kind() { return CollectedHeapName.PARALLEL; } + // Simple wrapper to provide toString() usable for debugging. + private class LiveRegionProviderImpl implements LiveRegionsProvider { + private String name; + private MutableSpace space; + + public LiveRegionProviderImpl(String name, MutableSpace space) { + this.name = name; + this.space = space; + } + + @Override + public List<MemRegion> getLiveRegions() { + return space.getLiveRegions(); + } + @Override + public String toString() { + return name; + } + } + + public void liveRegionsIterate(LiveRegionsClosure closure) { + // Add eden space + closure.doLiveRegions(new LiveRegionProviderImpl("eden", youngGen().edenSpace())); + // Add from-space but not to-space + closure.doLiveRegions(new LiveRegionProviderImpl("from", youngGen().fromSpace())); + + closure.doLiveRegions(new LiveRegionProviderImpl("old ", oldGen().objectSpace())); + } + public void printOn(PrintStream tty) { tty.print("ParallelScavengeHeap [ "); youngGen().printOn(tty); oldGen().printOn(tty); tty.print(" ] ");
< prev index next >