RFR: 8218733: SA: CollectedHeap provides broken implementation for used() and capacity()
Jini George
jini.george at oracle.com
Mon Feb 11 12:00:24 UTC 2019
Hi Stefan,
Looks good to me.
Thanks,
Jini.
On 2/11/2019 1:43 PM, Stefan Karlsson wrote:
> Hi all,
>
> Please review this patch to remove the broken implementation of
> CollectedHeap used() and capacity() and instead force all GCs to provide
> their own implementations.
>
> https://cr.openjdk.java.net/~stefank/8218733/webrev.01/
> https://bugs.openjdk.java.net/browse/JDK-8218733
>
> This was found while running
> serviceability/sa/TestHeapDumpForLargeArray.java on an experimental
> implementation of heap dumping in ZGC.
>
> ZGC didn't provide a ZCollectedHeap.used() function and
> CollectedHeap.used() was used instead at:
> // Check weather we should dump the heap as segments
> useSegmentedHeapDump = vm.getUniverse().heap().used() >
> HPROF_SEGMENTED_HEAP_DUMP_THRESHOLD;
>
> Because of this we incorrectly did not use segmented heap dumps, and
> therefore overflowed later in the code
>
> Aleksey and Roman,
>
> Could you verify that the implementation for Epsilon is correct? I also
> haven't implemented capacity for Shenandoah, as the information isn't
> trivially available in the ShenandoahHeap SA class. Do you want to fix
> it as part of this patch, or should I create a separate RFE for Shenandoah?
>
> Thanks,
> StefanK
More information about the serviceability-dev
mailing list