RFR: 8232365: Implementation for JEP 363: Remove the Concurrent Mark Sweep (CMS) Garbage Collector
Leo Korinth
leo.korinth at oracle.com
Mon Oct 28 16:30:59 UTC 2019
On 24/10/2019 23:16, Thomas Schatzl wrote:
> Hi,
>
> some additional thoughts I had when looking through the change:
>
> - BlockOffsetArray/BlockOffsetArrayContigSpace inheritance could be folded in a separate CR
I have filed: https://bugs.openjdk.java.net/browse/JDK-8233074
> Other minor removals that could be done here:
>
> - GCStats::kind() / GCStats::Name enum / GCStats::average_promoted_in_bytes() / GCStats::padded_average_promoted_in_bytes() are unused.
Thanks, removed.
>
> - unused flags from gc_globals.hpp (I assume that there are more from globals.hpp that are now unused but it's daunting to go through all of them :)):
>
> GCTaskTimeStampEntries (this one has been unused before the CMS change so start the deprecation/removal in a different RFE)
Many thanks for this find!!! I have filed:
https://bugs.openjdk.java.net/browse/JDK-8233029
>
> OldPLABWeight
will obsolete
> ResizeOldPLAB
will obsolete
> VerifyBlockOffsetArray
will remove (develop flag)
I also saw (unrelated to this CMS removal) that TLABStats probably
should be obsoleted/removed (it is deprecated now, but in practice
obsoleted), should I file a bug for that?
Also unrelated to this CMS removal, should I file a bug for
obsolete/removal of PrintGC/PrintGCDetails (deprecated now), or do we
want to keep it deprecated?
>
> Made obsolete by this change.
>
> - MarkWord::must_be_preserved_for_cms_scavenge() should be removed
Will remove.
>
> Looks good otherwise.
>
> Thomas
>
Fixes after suggestions from Kim and Thomas:
http://cr.openjdk.java.net/~lkorinth/8232365/01_02/ (incremental)
http://cr.openjdk.java.net/~lkorinth/8232365/02/ (full)
Thanks,
Leo
> ----- Original Message -----
> From: leo.korinth at oracle.com
> To: hotspot-dev at openjdk.java.net
> Sent: Thursday, October 24, 2019 8:05:37 PM GMT +01:00 Amsterdam / Berlin / Bern / Rome / Stockholm / Vienna
> Subject: Re: RFR: 8232365: Implementation for JEP 363: Remove the Concurrent Mark Sweep (CMS) Garbage Collector
>
> Fixes after suggestions from Coleen, David, Erik, Igor and Kim:
>
> http://cr.openjdk.java.net/~lkorinth/8232365/00_01/ (incremental)
> http://cr.openjdk.java.net/~lkorinth/8232365/01/ (full)
>
> Thanks,
> Leo
>
> On 18/10/2019 10:20, Leo Korinth wrote:
>> Hi,
>>
>> Here is a patch that removes the CMS GC.
>>
>> I have neither tested arm nor ppc; I hope my changes to those .ad files
>> are correct, if someone can test those architectures, that would be great.
>>
>> Please take an extra look at
>> CollectedHeap::check_for_non_bad_heap_word_value, it was buggy before
>> (but never called), It is now called (and hopefully correct).
>>
>> I have tried to remove most parts of CMS. I have not made it a goal to
>> remove all traces of CMS. I guess there are much more to cleanup, and
>> suggestions of more to remove are welcomed. I think more complicated
>> cleanups should be dealt with in separate enhancements.
>>
>> Not fully addressed in code, but an issue that has to be dealt with, how
>> do I obsolete -Xconcgc and -Xnoconcgc? I believe the option should be
>> obsoleted, though I do not know if we have any precedence obsoleting -X
>> options.
>>
>> My patch prints:
>>
>> $ java -Xconcgc -jar Notepad.jar
>> Java HotSpot(TM) 64-Bit Server VM warning: -Xconcgc uses UseConcMarkSweepGC
>>
>> I guess that is not enough for being obsolete, compare with:
>>
>> $ java -XX:UseConcMarkSweepGC -jar Notepad.jar
>> Java HotSpot(TM) 64-Bit Server VM warning: Ignoring option
>> UseConcMarkSweepGC; support was removed in 14.0
>>
>> Bug:
>> https://bugs.openjdk.java.net/browse/JDK-8232365
>>
>> Webrev:
>> http://cr.openjdk.java.net/~lkorinth/8232365/00
>>
>> Testing:
>> tier 1-5.
>>
>> Thanks,
>> Leo
More information about the hotspot-dev
mailing list