RFR: 8016538: volatile double access via Unsafe.cpp is not atomic
David Holmes
david.holmes at oracle.com
Tue Jul 9 17:40:07 PDT 2013
Hi Yumin,
On 10/07/2013 4:32 AM, Yumin Qi wrote:
> Hi,
>
> Can i have your codereview of this change:
> Unsafe_Get[SET]DoubleVolatile are not atomic on 32bit x86 linux
> caused test for
> org.openjdk.concurrent.torture.tests.atomicity.primitives.reflect.DoubleAtomicityTest
> failed.
> The fix is using same treatment for jdouble as for jlong. Tests
> passed on failed test case, vm quick tests. It only happens on linux
> 32bit platform, on solaris, the inlined code be compiled into code of
> using fldl/fstpl which are atomic instructions.
Why is this not also a problem on Solaris? What does the Solaris
compiler generate for
inline jdouble OrderAccess::load_acquire(volatile jdouble* p) { return
*p; }
> Contributed by: dholmes
Guess that means I can't Review it :)
David
-----
> URL: http://cr.openjdk.java.net/~minqi/8016538/01
>
> Thanks
> Yumin
More information about the hotspot-runtime-dev
mailing list