ZGC: RFR: 8207843: HSDB cannot show Object Histogram when ZGC is working

Sharath Ballal sharath.ballal at oracle.com
Wed Aug 8 04:35:24 UTC 2018


Hi Yasumasa,

These comments may not make sense now that Per told that this way of iterating the heap doesn’t work for ZGC.  But I am still giving them since I went through the changes.

http://cr.openjdk.java.net/~ysuenaga/JDK-8207843/webrev.00/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZPage.java.udiff.html

+    public int refcount() {
+        return topField.getJInt(addr);
+    }
+

I think you wanted to return "refcountField.getJInt(addr)" here.

http://cr.openjdk.java.net/~ysuenaga/JDK-8207843/webrev.00/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/gc/z/ZAddressRangeMapForPageTable.java.frames.html

  71     long size() {
  72         return ZGlobals.ZAddressOffsetMax >>> ZGlobals.ZPageSizeMinShift;
  73     }

I am not clear about this unsigned right shift, how does this give the size ?  Also ZGlobals.ZPageSizeMinShift can be replaced by AddressRangeShift.


Thanks,
Sharath


-----Original Message-----
From: Yasumasa Suenaga [mailto:yasuenag at gmail.com] 
Sent: Thursday, July 26, 2018 7:22 PM
To: serviceability-dev at openjdk.java.net; zgc-dev at openjdk.java.net; hotspot-gc-dev
Subject: ZGC: RFR: 8207843: HSDB cannot show Object Histogram when ZGC is working

CC'ing to hotspot-gc-dev


On 2018/07/26 21:30, Yasumasa Suenaga wrote:
> PING: Could you review it?
> 
>>    webrev: http://cr.openjdk.java.net/~ysuenaga/JDK-8207843/webrev.00/
> 
> 
> Yasumasa
> 
> 
> On 2018/07/19 23:03, Yasumasa Suenaga wrote:
>> Hi all,
>>
>> Please review this webrev.
>>
>>       JBS: https://bugs.openjdk.java.net/browse/JDK-8207843
>>    webrev: http://cr.openjdk.java.net/~ysuenaga/JDK-8207843/webrev.00/
>>
>> I encountered AssertionFailure when I attached HSDB to the process which is working with ZGC as below:
>>
>> sun.jvm.hotspot.utilities.AssertionFailure: Unexpected CollectedHeap type: sun.jvm.hotspot.gc.z.ZCollectedHeap
>>      at jdk.hotspot.agent/sun.jvm.hotspot.utilities.Assert.that(Assert.java:32)
>>      at jdk.hotspot.agent/sun.jvm.hotspot.oops.ObjectHeap.collectLiveRegions(ObjectHeap.java:448)
>>      at jdk.hotspot.agent/sun.jvm.hotspot.oops.ObjectHeap.iterate(ObjectHeap.java:173)
>>      at jdk.hotspot.agent/sun.jvm.hotspot.HSDB$VisitHeap.run(HSDB.java:1741)
>>      at jdk.hotspot.agent/sun.jvm.hotspot.utilities.WorkerThread$MainLoop.run(WorkerThread.java:70)
>>      at java.base/java.lang.Thread.run(Thread.java:832)
>>
>> ObjectHeap#collectLiveRegions() branches by instance type of CollectedHeap. However it does not support ZCollectedHeap.
>> So I add ZCollectedHeap to it and add some methods to iterate ZPageTable.
>>
>>
>> Thanks,
>>
>> Yasumasa


More information about the serviceability-dev mailing list