Mercurial > hg > graal-jvmci-8
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); |