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

Roman Kennke rkennke at redhat.com
Mon Feb 18 13:06:56 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);
> }

Yes.

In-fact, I believe my fix is wrong. The value *does* need to be
protected by an LRB higher up, or be a safe value (i.e. comes through
allocation, method argument, null or constant, etc).

Need to re-check it.

Roman



More information about the shenandoah-dev mailing list