diff src/share/vm/prims/unsafe.cpp @ 17794:3514ee402842

8029101: PPC64 (part 211): ordering of Independent Reads of Independent Writes Reviewed-by: dholmes, kvn Contributed-by: martin.doerr@sap.com
author goetz
date Thu, 16 Jan 2014 14:25:51 +0100
parents 190899198332
children 28f281e8de1d 62c54fcc0a35
line wrap: on
line diff
--- a/src/share/vm/prims/unsafe.cpp	Tue Jan 07 17:24:59 2014 +0100
+++ b/src/share/vm/prims/unsafe.cpp	Thu Jan 16 14:25:51 2014 +0100
@@ -162,6 +162,9 @@
 
 #define GET_FIELD_VOLATILE(obj, offset, type_name, v) \
   oop p = JNIHandles::resolve(obj); \
+  if (support_IRIW_for_not_multiple_copy_atomic_cpu) { \
+    OrderAccess::fence(); \
+  } \
   volatile type_name v = OrderAccess::load_acquire((volatile type_name*)index_oop_from_field_offset_long(p, offset));
 
 #define SET_FIELD_VOLATILE(obj, offset, type_name, x) \