In fact, you've already answered your own question.
There is no "non-atomic treatment" of double
and long
on 64-bit HotSpot JVM, because
- HotSpot uses 64-bit registers to store 64-bit values (x86_64.ad vs. x86_32.ad).
- HotSpot aligns 64-bit fields on 64-bit boundary (universe.inline.hpp)