[aarch64-port-dev ] [NEW BUG]Missing LoadStore barrier in interpreter?

Patrick Zhang patrick at os.amperecomputing.com
Mon Feb 4 08:17:13 UTC 2019


I see, thanks. x86 only handles StoreLoad so StoreStore can be ignored, while aarch64 uses ISH (Any-Any) for StoreLoad barrier option which covers ISHST for StoreStore so ignorable too.
In order to have self-documenting code here, I would rather keep SotreLoad|StoreStore, or simply create a new enum side by side in assembler_aarch64.hpp as StoreLoadOrStoreStore = ISH /* (ISH == ISH | ISHST) */ to hide the details. Which is better?

Regards
Patrick

-----Original Message-----
From: Andrew Haley <aph at redhat.com> 
Sent: Monday, February 4, 2019 2:26 AM
To: Patrick Zhang <patrick at os.amperecomputing.com>
Cc: aarch64-port-dev at openjdk.java.net; JiangNing-OS <jiangning at os.amperecomputing.com>; Lun Liu <lunliu93 at gmail.com>
Subject: Re: [aarch64-port-dev ] [NEW BUG]Missing LoadStore barrier in interpreter?

On 2/3/19 2:55 AM, Patrick Zhang wrote:
> Could you please explain this a little bit more? It looks aarch64 has a StoreLoad there, while x86 has StoreLoad|StoreStore, did you mean the StoreStore can be dropped by aarch64 because x86 TSO needs more protection here?

Oh, I see what you're asking. StoreLoad|StoreStore generates the same code as StoreLoad on both Intel and AArch64, so it does not matter. I guess it should be changed in order not to confuse people.

--
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 aarch64-port-dev mailing list