[concurrency-interest] JLS 17.7 Non-atomic treatment of double and long : Android

Aleksey Shipilev aleksey.shipilev at oracle.com
Mon Apr 29 16:42:30 EDT 2013


On 04/30/2013 12:27 AM, Tim Halloran wrote:
> Does anyone know if Android's Dalvik goes with the recommendation in JLS
> 17.7 and avoids splitting 64-bit values. I'm pretty sure most other VMs do.

You might safely assume ARM does not have full-width 64-bit reads/writes
(it can emulate atomic read/write with LL/SC-ed loop), so I'm pretty
sure non-volatile longs are not atomic on most mobile platforms.

> After some searching I couldn't find any information and it seems pretty
> hard to write code to "test" for this on the VM.

It is actually one of the simplest tests for concurrency, and simple
enough to reproduce in the wild.

-Aleksey.



More information about the Concurrency-interest mailing list