RFR(M) 8222992: Shenandoah: Pre-evacuate all roots
Zhengyu Gu
zgu at redhat.com
Wed May 1 14:22:16 UTC 2019
On 5/1/19 6:19 AM, Aleksey Shipilev wrote:
> On 4/30/19 9:51 PM, Zhengyu Gu wrote:
>> Updated webrev: http://cr.openjdk.java.net/~zgu/JDK-8222992/webrev.01/index.html
>
> Something is wrong with the webrev. The patch has:
>
> +void ShenandoahVerifier::verify_roots_no_forwarded() {
> + verify_at_safepoint(
> + "Roots Have Not Forwarded References",
> + _verify_forwarded_none, // no forwarded references
> + _verify_marked_disable, // walk only roots
> + _verify_cset_disable, // no cset verification
> + _verify_liveness_disable, // no reliable liveness data anymore
> + _verify_regions_notrash, // trash regions have been recycled already
> + _verify_gcstate_disable // no gc state check
> + );
> +}
>
> ...yet webrevs has:
>
> 943 void ShenandoahVerifier::verify_roots_no_forwarded() {
> 944 guarantee(ShenandoahSafepoint::is_at_shenandoah_safepoint(), "only when nothing else happens");
> 945 ShenandoahRootProcessor rp(_heap, 1, ShenandoahPhaseTimings::_num_phases); // no need for stats
> 946 ShenandoahVerifyNoForwared cl;
> 947 rp.process_all_roots_slow(&cl);
> 948 } >
>
> I think missing roots SRP::process_all_roots_slow require a separate changeset, as it should be
> backported ahead of this change to other releases;
>
Fixed SRP::process_all_roots_slow() in JDK-8223184 and rebased this patch:
Updated webrev:
http://cr.openjdk.java.net/~zgu/JDK-8222992/webrev.02/index.html
Reran hotspot_gc_shenandoah tests with -XX:+ShenandoahVerify
Thanks,
-Zhengyu
> -Aleksey
>
More information about the shenandoah-dev
mailing list