< prev index next >
src/share/vm/prims/unsafe.cpp
Print this page
rev 11906 : 8165018: Missing memory barrier for PPC64 in Unsafe_GetObjectVolatile
Reviewed-by:
@@ -322,10 +322,14 @@
oop p = JNIHandles::resolve(obj);
void* addr = index_oop_from_field_offset_long(p, offset);
volatile oop v;
+ if (support_IRIW_for_not_multiple_copy_atomic_cpu) {
+ OrderAccess::fence();
+ }
+
if (UseCompressedOops) {
volatile narrowOop n = *(volatile narrowOop*) addr;
(void)const_cast<oop&>(v = oopDesc::decode_heap_oop(n));
} else {
(void)const_cast<oop&>(v = *(volatile oop*) addr);
< prev index next >