RFR(M) 8222992: Shenandoah: Pre-evacuate all roots

Zhengyu Gu zgu at redhat.com
Thu May 2 12:39:41 UTC 2019



On 5/2/19 7:33 AM, Aleksey Shipilev wrote:
> On 5/1/19 4:22 PM, Zhengyu Gu wrote:
>> Updated webrev: http://cr.openjdk.java.net/~zgu/JDK-8222992/webrev.02/index.html
> 
> This looks okay to me.
> 
> Not a fan of the separate ShenandoahVerifier::verify_roots_no_forwarded, since we could "just" fold
> stronger (non-forwarded) root verification to the generic verification code (e.g. in
> ShenandoahVerifierReachableTask). 

Me neither. The early version I folded verify_roots_no_forwarded to use 
generic verification code, but that version always verifies marking, 
which could be long cycle. I intent to verify roots quite often in 
concurrent class unloading/concurrent roots evacuation work, and prefer 
shorter verification cycles.

Also, I also want to be able to verify subset of roots 
(https://bugs.openjdk.java.net/browse/JDK-8223215), which could 
complicate generic verification code quite a bit.

That, however, might end up with some failures in Traversal and
> such. We can do that as follow-up.
> 

Yes, we could do a follow-up RFE if needed.

Thanks,

-Zhengyu


More information about the shenandoah-dev mailing list