comparison src/share/vm/prims/unsafe.cpp @ 14465:28f281e8de1d

Merge
author kvn
date Thu, 20 Feb 2014 12:20:56 -0800
parents e6195383bcaf c6d7e7406136
children d8041d695d19
comparison
equal deleted inserted replaced
14382:805784307dca 14465:28f281e8de1d
155 oop p = JNIHandles::resolve(obj); \ 155 oop p = JNIHandles::resolve(obj); \
156 *(type_name*)index_oop_from_field_offset_long(p, offset) = x 156 *(type_name*)index_oop_from_field_offset_long(p, offset) = x
157 157
158 #define GET_FIELD_VOLATILE(obj, offset, type_name, v) \ 158 #define GET_FIELD_VOLATILE(obj, offset, type_name, v) \
159 oop p = JNIHandles::resolve(obj); \ 159 oop p = JNIHandles::resolve(obj); \
160 if (support_IRIW_for_not_multiple_copy_atomic_cpu) { \
161 OrderAccess::fence(); \
162 } \
160 volatile type_name v = OrderAccess::load_acquire((volatile type_name*)index_oop_from_field_offset_long(p, offset)); 163 volatile type_name v = OrderAccess::load_acquire((volatile type_name*)index_oop_from_field_offset_long(p, offset));
161 164
162 #define SET_FIELD_VOLATILE(obj, offset, type_name, x) \ 165 #define SET_FIELD_VOLATILE(obj, offset, type_name, x) \
163 oop p = JNIHandles::resolve(obj); \ 166 oop p = JNIHandles::resolve(obj); \
164 OrderAccess::release_store_fence((volatile type_name*)index_oop_from_field_offset_long(p, offset), x); 167 OrderAccess::release_store_fence((volatile type_name*)index_oop_from_field_offset_long(p, offset), x);