Hi Jini, Thanks for taking a look, see comments inline.
On 06/01/2018 10:13 AM, Jini George wrote: > ==> share/classes/sun/jvm/hotspot/oops/ObjectHeap.java > > 444 liveRegions.add(eh.space()); > > We would need to add an object of type 'Address' to the liveRegions list, > instead of type > VirtualSpace. Not doing so results in exceptions of the following form from > the compare() method for > various clhsdb commands like 'jhisto': > > Exception in thread "main" java.lang.ClassCastException: > jdk.hotspot.agent/sun.jvm.hotspot.memory.VirtualSpace cannot be cast to > jdk.hotspot.agent/sun.jvm.hotspot.debugger.Address Oh, I see! Fixed: http://hg.openjdk.java.net/jdk/sandbox/rev/d999bdb8173c > ==> share/classes/sun/jvm/hotspot/oops/ObjectHeap.java > > 445 } else { > 446 if (Assert.ASSERTS_ENABLED) { > 447 Assert.that(false, "Expecting GenCollectedHeap, > G1CollectedHeap, " + > 448 "or ParallelScavengeHeap, but got " + > 449 heap.getClass().getName()); > 450 } > 451 } > > * Please add EpsilonGC also to the assertion statement. I prefer to change it to non-GC-specific message as Per suggested: http://hg.openjdk.java.net/jdk/sandbox/rev/5cd17d3d3f83 > ==> share/classes/sun/jvm/hotspot/tools/HeapSummary.java > > The run() method would need to handle Epsilon GC here to avoid the Unknown > CollectedHeap type error > with jhsdb jmap --heap. Right, implemented in both places, run() and detectGCAlgo(): http://hg.openjdk.java.net/jdk/sandbox/rev/b20a56352d78 > ==> share/classes/sun/jvm/hotspot/HSDB.java > > In showThreadStackMemory(), we have: > > 1101 } > 1102 } else if (collHeap instanceof > ParallelScavengeHeap) { > 1103 ParallelScavengeHeap heap = > (ParallelScavengeHeap) collHeap; > 1104 if (heap.youngGen().isIn(handle)) { > 1105 anno = "PSYoungGen "; > 1106 bad = false; > 1107 } else if (heap.oldGen().isIn(handle)) { > 1108 anno = "PSOldGen "; > 1109 bad = false; > 1110 } > 1111 } else { > 1112 // Optimistically assume the oop isn't bad > 1113 anno = "[Unknown generation] "; > 1114 bad = false; > 1115 } > 1116 > > We would need to add the case of collHeap being an instanceof EpsilonHeap > too. It would display > "Unknown generation" while viewing the stack memory for the Java threads > otherwise. Right, fixed: http://hg.openjdk.java.net/jdk/sandbox/rev/f26c4a196a15 > ==> It would be great if > test/hotspot/jtreg/serviceability/sa/TestUniverse.java is enhanced to add > the minimalistic test for EpsilonGC. Right: http://hg.openjdk.java.net/jdk/sandbox/rev/c559de946c7d This still passes gc/epsilon and serviceability/sa tests. -Aleksey
signature.asc
Description: OpenPGP digital signature
