Fix ARM & ARM64 UnsafeCASObject intrinsic with heap poisoning.

Ensure aliasing does not make us poison/unpoison the same
value twice.

Also extend testing of Unsafe.compareAndSwap* routines.

Bug: 26204023
Bug: 12687968
Change-Id: I29d7e5dd2a969845e054798f77837d20e3c18483
3 files changed