RFR(M) 8222992: Shenandoah: Pre-evacuate all roots
Aleksey Shipilev
shade at redhat.com
Wed May 1 10:19:37 UTC 2019
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;
-Aleksey
More information about the shenandoah-dev
mailing list