209 static void store_in_heap_at(oop base, ptrdiff_t offset, T value) { |
209 static void store_in_heap_at(oop base, ptrdiff_t offset, T value) { |
210 Raw::store_at(base, offset, value); |
210 Raw::store_at(base, offset, value); |
211 } |
211 } |
212 |
212 |
213 template <typename T> |
213 template <typename T> |
214 static T atomic_cmpxchg_in_heap(T new_value, T* addr, T compare_value) { |
214 static T atomic_cmpxchg_in_heap(T* addr, T compare_value, T new_value) { |
215 return Raw::atomic_cmpxchg(new_value, addr, compare_value); |
215 return Raw::atomic_cmpxchg(addr, compare_value, new_value); |
216 } |
216 } |
217 |
217 |
218 template <typename T> |
218 template <typename T> |
219 static T atomic_cmpxchg_in_heap_at(T new_value, oop base, ptrdiff_t offset, T compare_value) { |
219 static T atomic_cmpxchg_in_heap_at(oop base, ptrdiff_t offset, T compare_value, T new_value) { |
220 return Raw::atomic_cmpxchg_at(new_value, base, offset, compare_value); |
220 return Raw::atomic_cmpxchg_at(base, offset, compare_value, new_value); |
221 } |
221 } |
222 |
222 |
223 template <typename T> |
223 template <typename T> |
224 static T atomic_xchg_in_heap(T* addr, T new_value) { |
224 static T atomic_xchg_in_heap(T* addr, T new_value) { |
225 return Raw::atomic_xchg(addr, new_value); |
225 return Raw::atomic_xchg(addr, new_value); |
259 static void oop_store_in_heap_at(oop base, ptrdiff_t offset, oop value) { |
259 static void oop_store_in_heap_at(oop base, ptrdiff_t offset, oop value) { |
260 Raw::oop_store_at(base, offset, value); |
260 Raw::oop_store_at(base, offset, value); |
261 } |
261 } |
262 |
262 |
263 template <typename T> |
263 template <typename T> |
264 static oop oop_atomic_cmpxchg_in_heap(oop new_value, T* addr, oop compare_value) { |
264 static oop oop_atomic_cmpxchg_in_heap(T* addr, oop compare_value, oop new_value) { |
265 return Raw::oop_atomic_cmpxchg(new_value, addr, compare_value); |
265 return Raw::oop_atomic_cmpxchg(addr, compare_value, new_value); |
266 } |
266 } |
267 |
267 |
268 static oop oop_atomic_cmpxchg_in_heap_at(oop new_value, oop base, ptrdiff_t offset, oop compare_value) { |
268 static oop oop_atomic_cmpxchg_in_heap_at(oop base, ptrdiff_t offset, oop compare_value, oop new_value) { |
269 return Raw::oop_atomic_cmpxchg_at(new_value, base, offset, compare_value); |
269 return Raw::oop_atomic_cmpxchg_at(base, offset, compare_value, new_value); |
270 } |
270 } |
271 |
271 |
272 template <typename T> |
272 template <typename T> |
273 static oop oop_atomic_xchg_in_heap(T* addr, oop new_value) { |
273 static oop oop_atomic_xchg_in_heap(T* addr, oop new_value) { |
274 return Raw::oop_atomic_xchg(addr, new_value); |
274 return Raw::oop_atomic_xchg(addr, new_value); |
295 static void oop_store_not_in_heap(T* addr, oop value) { |
295 static void oop_store_not_in_heap(T* addr, oop value) { |
296 Raw::oop_store(addr, value); |
296 Raw::oop_store(addr, value); |
297 } |
297 } |
298 |
298 |
299 template <typename T> |
299 template <typename T> |
300 static oop oop_atomic_cmpxchg_not_in_heap(oop new_value, T* addr, oop compare_value) { |
300 static oop oop_atomic_cmpxchg_not_in_heap(T* addr, oop compare_value, oop new_value) { |
301 return Raw::oop_atomic_cmpxchg(new_value, addr, compare_value); |
301 return Raw::oop_atomic_cmpxchg(addr, compare_value, new_value); |
302 } |
302 } |
303 |
303 |
304 template <typename T> |
304 template <typename T> |
305 static oop oop_atomic_xchg_not_in_heap(T* addr, oop new_value) { |
305 static oop oop_atomic_xchg_not_in_heap(T* addr, oop new_value) { |
306 return Raw::oop_atomic_xchg(addr, new_value); |
306 return Raw::oop_atomic_xchg(addr, new_value); |