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