RFR: 8232365: Implementation for JEP 363: Remove the Concurrent Mark Sweep (CMS) Garbage Collector
Thomas Schatzl
thomas.schatzl at oracle.com
Thu Oct 24 21:16:09 UTC 2019
Hi,
some additional thoughts I had when looking through the change:
- BlockOffsetArray/BlockOffsetArrayContigSpace inheritance could be folded in a separate CR
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.
- 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)
OldPLABWeight
ResizeOldPLAB
VerifyBlockOffsetArray
Made obsolete by this change.
- MarkWord::must_be_preserved_for_cms_scavenge() should be removed
Looks good otherwise.
Thomas
----- 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