[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.


More information about the Concurrency-interest mailing list