RFR [sh/8u]: Correct order between load, LRB and membar nodes
Aleksey Shipilev
shade at redhat.com
Mon Oct 28 12:35:29 UTC 2019
On 10/28/19 1:30 PM, Roman Kennke wrote:
> A test failed after recent LRB backport which is caused by wrong
> ordering of load, LRB and trailing membar. Currently the membar feeds
> off the LRB, but it should really have the raw load as its input so that
> membars don't participate in the data flow analysis that we do in our
> LRB optimizations.
>
> The fix is in Unsafe accessor. This mimics how it's already done for
> getfield (in parse3.cpp) and also in later releases.
>
> Webrev:
> http://cr.openjdk.java.net/~rkennke/lrb-membars/webrev.00/
Looks fine.
*) Why do we need "ld" variable here again?
2779 Node* ld = load;
*) Is the order w.r.t. pre_barrier okay? New patch exposes non-LRB-ed load to pre_barrier on
T_OBJECT path.
*) Is it fine to LRB the result of ConvX2UL from T_ADDRESS path?
--
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list