< prev index next >

src/hotspot/share/gc/shared/barrierSet.hpp

Print this page
rev 50534 : [mq]: rename_RootAccess


 253 
 254     template <typename T>
 255     static oop oop_atomic_xchg_in_heap(oop new_value, T* addr) {
 256       return Raw::oop_atomic_xchg(new_value, addr);
 257     }
 258 
 259     static oop oop_atomic_xchg_in_heap_at(oop new_value, oop base, ptrdiff_t offset) {
 260       return Raw::oop_atomic_xchg_at(new_value, base, offset);
 261     }
 262 
 263     template <typename T>
 264     static bool oop_arraycopy_in_heap(arrayOop src_obj, size_t src_offset_in_bytes, T* src_raw,
 265                                       arrayOop dst_obj, size_t dst_offset_in_bytes, T* dst_raw,
 266                                       size_t length) {
 267       return Raw::oop_arraycopy(src_obj, src_offset_in_bytes, src_raw,
 268                                 dst_obj, dst_offset_in_bytes, dst_raw,
 269                                 length);
 270     }
 271 
 272     // Off-heap oop accesses. These accessors get resolved when
 273     // IN_HEAP is not set (e.g. when using the RootAccess API), it is
 274     // an oop* overload, and the barrier strength is AS_NORMAL.
 275     template <typename T>
 276     static oop oop_load_not_in_heap(T* addr) {
 277       return Raw::template oop_load<oop>(addr);
 278     }
 279 
 280     template <typename T>
 281     static void oop_store_not_in_heap(T* addr, oop value) {
 282       Raw::oop_store(addr, value);
 283     }
 284 
 285     template <typename T>
 286     static oop oop_atomic_cmpxchg_not_in_heap(oop new_value, T* addr, oop compare_value) {
 287       return Raw::oop_atomic_cmpxchg(new_value, addr, compare_value);
 288     }
 289 
 290     template <typename T>
 291     static oop oop_atomic_xchg_not_in_heap(oop new_value, T* addr) {
 292       return Raw::oop_atomic_xchg(new_value, addr);
 293     }




 253 
 254     template <typename T>
 255     static oop oop_atomic_xchg_in_heap(oop new_value, T* addr) {
 256       return Raw::oop_atomic_xchg(new_value, addr);
 257     }
 258 
 259     static oop oop_atomic_xchg_in_heap_at(oop new_value, oop base, ptrdiff_t offset) {
 260       return Raw::oop_atomic_xchg_at(new_value, base, offset);
 261     }
 262 
 263     template <typename T>
 264     static bool oop_arraycopy_in_heap(arrayOop src_obj, size_t src_offset_in_bytes, T* src_raw,
 265                                       arrayOop dst_obj, size_t dst_offset_in_bytes, T* dst_raw,
 266                                       size_t length) {
 267       return Raw::oop_arraycopy(src_obj, src_offset_in_bytes, src_raw,
 268                                 dst_obj, dst_offset_in_bytes, dst_raw,
 269                                 length);
 270     }
 271 
 272     // Off-heap oop accesses. These accessors get resolved when
 273     // IN_HEAP is not set (e.g. when using the NativeAccess API), it is
 274     // an oop* overload, and the barrier strength is AS_NORMAL.
 275     template <typename T>
 276     static oop oop_load_not_in_heap(T* addr) {
 277       return Raw::template oop_load<oop>(addr);
 278     }
 279 
 280     template <typename T>
 281     static void oop_store_not_in_heap(T* addr, oop value) {
 282       Raw::oop_store(addr, value);
 283     }
 284 
 285     template <typename T>
 286     static oop oop_atomic_cmpxchg_not_in_heap(oop new_value, T* addr, oop compare_value) {
 287       return Raw::oop_atomic_cmpxchg(new_value, addr, compare_value);
 288     }
 289 
 290     template <typename T>
 291     static oop oop_atomic_xchg_not_in_heap(oop new_value, T* addr) {
 292       return Raw::oop_atomic_xchg(new_value, addr);
 293     }


< prev index next >