[aarch64-port-dev ] RFR(M): 8209835: Aarch64: elide barriers on all volatile operations

Andrew Haley aph at redhat.com
Mon Oct 15 15:57:37 UTC 2018

Andrew Dinn wrote:

> I didn't eyeball the code (there's a lot to check!). I extended tests to
> cover all combination of atomic operations/argument types. So at least,
> tests should guarantee that the right variant in the ad file is
> picked. Then, of course, all variants must be correctly implemented. For
> that, I checked a couple times that the right boolean flag was passed.

I have been eyeballing the code, and I see one problem:

    public void testInt(int x, int i)
        unsafe.compareAndExchangeInt(this, f_int_off, x, i);

These methods don't test the return value at all. We really need
to check the return value is correctly sign- or zero-extended and
compressed Oops are correctly decoded.

The generated code itself looks fine.

Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671

More information about the hotspot-compiler-dev mailing list