Hi Per,

Will class unloading be occurred after relocation?
If so, I think we can use this approach.

I read the slide [1], it says any garbage does not exist in ZPage after 
relocation.


Thanks,

Yasumasa


[1] https://www.jfokus.se/jfokus18/preso/ZGC--Low-Latency-GC-for-OpenJDK.pdf


On 2018/08/08 0:28, Per Liden wrote:
Hi,

On 08/07/2018 03:02 PM, Yasumasa Suenaga wrote:
Hi Per,

Currently, class unloading seems not to be implemented.
So do not worry about it?

Support for class unloading is coming, so this assumption would not hold for 
very long.

cheers,
Per


http://hg.openjdk.java.net/jdk/jdk/file/10ef3d870cb7/src/hotspot/share/gc/z/zArguments.cpp#l86


Thanks,

Yasumasa


On 2018/08/07 21:32, Per Liden wrote:
Hi Yasumasa,

I'm afraid this approach of iterating over objects doesn't work. In ZGC, you 
can't walk over ZPages since some objects in there might be unreachable and 
hence might have an invalid/dead class pointer, which in turn means you can't 
tell the size of the object. When iterating over the heap you must start from 
the roots and only visit live objects. This becomes very complicated to do in 
the SA, which is why it hasn't been implemented.

cheers,
Per

On 07/26/2018 03:52 PM, Yasumasa Suenaga wrote:
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

Reply via email to