RFR: Don't check store value in Shenandoah C2 verifier

Roman Kennke rkennke at redhat.com
Mon Feb 18 16:40:54 UTC 2019


>> Since LRB, we don't need any store-value barriers anymore (except for
>> the enqueue-barriers in traversal, but I don't think we even check
>> that). The C2 verifier pass shouldn't check and complain about missing
>> barriers.
>>
>> http://cr.openjdk.java.net/~rkennke/fixoptoverifier/webrev.00/
> 
> Looks okay to me.
> 
> There is a block right below the removed one, does it matter still as well?
> 
> if (!verify_helper(n->in(MemNode::Address), phis, visited, ShenandoahStore, trace, barriers_used)) {
>   report_verify_failure("Shenandoah verification: Store (address) should have barriers", n);
> }
> 

Here comes the real fix: CreateEx nodes don't require a barrier (the
exception is either new, or one of the pre-generated exceptions that we
keep guaranteed in to-space), and the verifier needs to be extended for
this:

http://cr.openjdk.java.net/~rkennke/fixoptoverifier/webrev.01/

Testing: makes ctw tests pass, hotspot_gc_shenandoah still good

Good?

Roman



More information about the shenandoah-dev mailing list