Possible subtle memory model error in ClassValue
adinn at redhat.com
Wed Aug 12 09:08:54 UTC 2020
On 11/08/2020 18:06, Hans Boehm wrote:
> I think the relevant statement is:
> "An address dependency between two reads generated by SVE vector load
> instructions does not contribute to the Dependency-ordered-before relation."
> This is only an issue if BOTH loads are SVE loads. In particular
> reference loads have to be vectorized for this to matter, which I expect
> is not the common situation. I have not explored this in great detail,
> but it should suffice to put fences between two dependent vector
> reference loads, and between a reference load and a dependent final
> field load.
Hmm, so this might perhaps be an issue with something like a deep copy
of an int, where loading of successive int references might be
vectorized using SVE instructions and processing of the contents of each
referenced int might also be similarly vectorized. In that case the
loading of the int contents would need to be ordered wrt the load of the
int references using a LoadLoad barrier?
Red Hat Distinguished Engineer
Red Hat UK Ltd
Registered in England and Wales under Company Registration No. 03798903
Directors: Michael Cunningham, Michael ("Mike") O'Neill
More information about the core-libs-dev