[15] RFR 8245124: Shenandoah: optimize code root evacuation/update during concurrent class unloading
Aleksey Shipilev
shade at redhat.com
Mon May 18 12:47:38 UTC 2020
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?
*) 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?
*) Odd dangling line here:
278 nm_data->oops_do(&oops_cl, true /*fix relocation*/); _bs->disarm(nm);
--
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list