RFR: 8170067: -XX:ExplicitGCInvokesConcurrentAndUnloadsClasses is not implemented for G1

Erik Helin erik.helin at oracle.com
Tue Nov 29 09:46:52 UTC 2016

On 11/29/2016 07:26 AM, kirk at kodewerk.com wrote:
> Hi,

Hey Kirk,

>> Taking all the suggestions into account and discussing this patch with others, I now withdraw this review request. I now think it makes more sense to deprecate this flag, see http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2016-November/019314.html for details.
> Sadly this seems like a reasonable course of action though it also feels like a missed opportunity to align the G1 and CMS flags by getting rid of this one.

thanks for your feedback.

In a sense, we are also aligning CMS and G1 for JDK 9 by deprecating the 
flag, the flag will be equally deprecated for both collectors. The flag 
is redundant for *both* CMS and G1, both collectors already unloads 
classes after a concurrent mark by default. Therefore specifying 
-XX:+ExplicitGCInvokesConcurrent will result in exactly the same 
behavior, and we don't want to redundant flags for the VM (there are 
enough flags as it is ;)).


> Kind regards,
> Kirk Pepperdine
>> Thanks,
>> Erik
>> On 11/23/2016 02:05 PM, Erik Helin wrote:
>>> Hi all,
>>> I just added support for
>>> -XX:ExplicitGCInvokesConcurrentAndUnloadsClasses in G1. Since G1 already
>>> unloads classes after a concurrent mark by default, I just made
>>> -XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses enable
>>> -XX:+ExplicitGCInvokesConcurrent. I also added a constraint function to
>>> check for some bad flag combinations and a corresponding test.
>>> Bug:
>>> https://bugs.openjdk.java.net/browse/JDK-8170067
>>> Webrev:
>>> http://cr.openjdk.java.net/~ehelin/8170067/00/
>>> Testing:
>>> - JPRT
>>> - New jtreg test
>>> Thanks,
>>> Erik

More information about the hotspot-gc-dev mailing list