Possible subtle memory model error in ClassValue

Andrew Haley aph at redhat.com
Tue Aug 11 10:47:12 UTC 2020


On 09/08/2020 18:55, Hans Boehm wrote:
 > There is no guarantee that the address dependency enforces ordering
 > if there is no final field involved. This may matter in the future,
 > since ARM's Scalable Vector Extension does not guarantee ordering
 > for address-dependent loads, if both loads are vector loads.

Ouch. Thanks, I didn't know that.

 > I expect there are cases in which it would be profitable and safe,
 > by the actual JMM rules, to use these.

But... we have to implement final fields somehow. And if dependency
ordering isn't sufficient then we're going to have to use fences
before SVE loads. Given that data in SVE registers may be security
sensitive, such as crypto keys, we'd have to do that.

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



More information about the core-libs-dev mailing list