RFR: 8185723: Zero: segfaults on Power PC 32-bit
Andrew Haley
aph at redhat.com
Thu Aug 3 10:06:31 UTC 2017
On 03/08/17 10:32, John Paul Adrian Glaubitz wrote:
> Btw, I'm currently trying to wrap my head around how to implement
> atomic_copy64() on m68k with inline assembly using cas2 which allows
> compare-and-swap with two 32-bit values and hence the implementation
> of an atomic_copy64().
>
> I think either __arch_compare_and_exchange_val_64_acq() or
> atomic_exchange_acq() from [1] should help.
The first one is what you want, assuming that you're happy to
write to an operand you're supposed to only read.
But there may be a better way of handling atomic doublewords on the
68k. Instead, define an array of lock words and yield on one of them
when reading or writing a doubleword. That way you (probably) only
block when two threads really are contending, and the instant you
detect contention you yield.
--
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-dev
mailing list