RFR: 8232365: Implementation for JEP 363: Remove the Concurrent Mark Sweep (CMS) Garbage Collector

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Mon Oct 21 09:46:15 UTC 2019


On 2019-10-21 09:43, Per Liden wrote:
> Hi Erik,
>
> On 10/18/19 2:54 PM, Erik Joelsson wrote:
>> Hello Leo,
>>
>> When removing a JVM feature from the VALID_JVM_FEATURES list, it 
>> needs to be added to the DEPRECATED_JVM_FEATURES list. Deprecated 
>> here means removed here, but configure will still accept the argument 
>> (with a warning).
>
> Are we really treating the list of JVM feature as a public/stable API, 
> or is there some other reason for this? Would the plan be to remove it 
> from the DEPRECATED_JVM_FEATURES in JDK 15?

Note that this is an issue for building only. A feature listed as 
deprecated in the build will not propagate outside the build system.

We are basically treating the configure command line arguments as a 
"stable API". The intention is that a command line on a build script 
should not cause a build failure due to an unknown argument. We have 
traditionally had 2-3 major releases before removing deprecated command 
line options.

/Magnus


>
> cheers,
> Per
>
>>
>> Otherwise build changes look good.
>>
>> /Erik
>>
>> On 2019-10-18 02:38, David Holmes wrote:
>>> Hi Leo,
>>>
>>> cc'ing build-dev. I think there is a process you need to follow to 
>>> remove VM features from the build system. And build folk need to 
>>> check all build changes anyway.
>>>
>>> Thanks,
>>> David
>>>
>>> On 18/10/2019 6:20 pm, 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 build-dev mailing list