RFR: 8253464: ARM32 Zero: atomic_copy64 is incorrect, breaking volatile stores

Boris Ulasevich bulasevich at openjdk.java.net
Wed Sep 23 16:09:53 UTC 2020


On Wed, 23 Sep 2020 16:02:17 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

>> src/hotspot/os_cpu/linux_zero/os_linux_zero.hpp line 79:
>> 
>>> 77:     asm volatile ("ldrexd %[tmp_r], [%[src]]\n"
>>> 78:                   "clrex\n"
>>> 79:                   "1:\n"
>> 
>> The change is good.
>> Minor remarks: I don't see reason of tmp_r(_w) naming and I'd prefer meaningful label name.
>
> There are five operands, I'd prefer to use symbolic names to avoid confusion.
> 
> "1:" is the local _numeric_ label, it does not show up in (and potentially conflict with) symbol table. Meaningful
> names would necessarily be _symbolic_ labels.
> Does that resolve your concerns?

good

-------------

PR: https://git.openjdk.java.net/jdk/pull/299


More information about the hotspot-runtime-dev mailing list