[15] RFR 8245124: Shenandoah: optimize code root evacuation/update during concurrent class unloading
Zhengyu Gu
zgu at redhat.com
Mon May 18 17:51:12 UTC 2020
Hi,
On 5/18/20 8:47 AM, Aleksey Shipilev wrote:
> On 5/16/20 1:30 PM, Zhengyu Gu wrote:
>> Bug:https://bugs.openjdk.java.net/browse/JDK-8245124
>> Webrev:http://cr.openjdk.java.net/~zgu/JDK-8245124/webrev.00/
>
> *) Would you mind splitting out the ShenandoahNMethod::oops_do inlining?
>
Any reason to split? this patch is not backportable to pre-jdk14.
> *) What if we specialize the branch from ShenandoahNMethod::heal_nmethod into
> shenandoahNMethod.inline.hpp, like:
>
> void ShenandoahNMethod::heal_nmethod(nmethod* nm) {
> ...
>
> if (heap->is_concurrent_mark_in_progress()) {
> ...
> } else if (heap->is_concurrent_weak_root_in_progress()) {
> heal_nmethod_weak_roots();
> } else {
> ...
> }
> }
>
> ...and then use it in ShenandoahNMethodUnlinkClosure? That would make the code a bit more
> understandable?
>
Updated: http://cr.openjdk.java.net/~zgu/JDK-8245124/webrev.01/index.html
> *) Odd dangling line here:
>
> 278 nm_data->oops_do(&oops_cl, true /*fix relocation*/); _bs->disarm(nm);
>
Fixed.
Thanks,
-Zhengyu
>
More information about the shenandoah-dev
mailing list