RFR (S): 8213307: G1 should clean up RMT with ClassUnloadingWithConcurrentMark
coleen.phillimore at oracle.com
coleen.phillimore at oracle.com
Mon Nov 12 14:15:23 UTC 2018
Thomas, thank you so much for cleaning this up.
http://cr.openjdk.java.net/~tschatzl/8213307/webrev.0_to_1/test/hotspot/jtreg/runtime/MemberName/MemberNameLeak.java.html
I think this test should have:
* @requires vm.opt.final.ClassUnloading
The RMT cleanup (and now triggering) was put in
SystemDictionary::do_unloading as a convenience rather than spread the
call in all 4/5 GCs. It's not really related to class unloading like
the other cleanups. If there's a better place for it, we can move it.
Also now that the timers are only timing triggering cleanup, it's not
really interesting to have them for all the actions. I think there
should just be one timer around the whole SystemDictionary::do_unloading
and not pass the flag. I'll take your follow on RFE.
This change looks good apart from the comment above, which I don't need
to see a webrev if you agree.
Thanks,
Coleen
On 11/5/18 11:09 AM, Aleksey Shipilev wrote:
> On 11/05/2018 05:02 PM, Erik Österlund wrote:
>>> Talking about surprises in current Hotspot GCs: ZGC does not even do class unloading, even if users
>>> "forces" it with -XX:+ClassUnloading(WithConcurrentMark) -- which is probably why we don't see ZGC
>>> config in that test.
>> We have not implemented STW class unloading in ZGC, because we did not think it is appropriate for a
>> concurrent collector to do that in a safepoint. We are going straight for concurrent class unloading
>> instead, which is currently in the process of integrating. The infrastructure being built to support
>> this is rather generic, and ultimately you will probably be able to hook both G1 and Shenandoah into
>> it if you like, on platforms supporting nmethod entry barriers.
> I understand that part. I was pointing out that "all current Hotspot GCs" are not necessarily
> reacting to class unloading flags in unsurprising manner: current ZGC being prime example today, and
> current Shenandoah would be another one, once it is integrated. Therefore, we better not set tests
> up assuming some particular "non-surprising" behavior.
>
> Thomas had reverted that part, anyway, so I don't think there is anything else to discuss.
>
> Cheers,
> -Aleksey
>
More information about the hotspot-runtime-dev
mailing list