src/hotspot/share/gc/shared/barrierSet.hpp
changeset 59251 4cbfa5077d68
parent 58176 470af058bd5f
child 59252 623722a6aeb9
equal deleted inserted replaced
59250:a6deb69743d4 59251:4cbfa5077d68
   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(T new_value, oop base, ptrdiff_t offset, T compare_value) {
   220       return Raw::atomic_cmpxchg_at(new_value, base, offset, compare_value);
   220       return Raw::atomic_cmpxchg_at(new_value, base, offset, compare_value);
   221     }
   221     }
   222 
   222 
   223     template <typename T>
   223     template <typename T>
   224     static T atomic_xchg_in_heap(T new_value, T* addr) {
   224     static T atomic_xchg_in_heap(T* addr, T new_value) {
   225       return Raw::atomic_xchg(new_value, addr);
   225       return Raw::atomic_xchg(addr, new_value);
   226     }
   226     }
   227 
   227 
   228     template <typename T>
   228     template <typename T>
   229     static T atomic_xchg_in_heap_at(T new_value, oop base, ptrdiff_t offset) {
   229     static T atomic_xchg_in_heap_at(oop base, ptrdiff_t offset, T new_value) {
   230       return Raw::atomic_xchg_at(new_value, base, offset);
   230       return Raw::atomic_xchg_at(base, offset, new_value);
   231     }
   231     }
   232 
   232 
   233     template <typename T>
   233     template <typename T>
   234     static void arraycopy_in_heap(arrayOop src_obj, size_t src_offset_in_bytes, T* src_raw,
   234     static void arraycopy_in_heap(arrayOop src_obj, size_t src_offset_in_bytes, T* src_raw,
   235                                   arrayOop dst_obj, size_t dst_offset_in_bytes, T* dst_raw,
   235                                   arrayOop dst_obj, size_t dst_offset_in_bytes, T* dst_raw,
   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 new_value, oop base, ptrdiff_t offset, oop compare_value) {
   269       return Raw::oop_atomic_cmpxchg_at(new_value, base, offset, compare_value);
   269       return Raw::oop_atomic_cmpxchg_at(new_value, base, offset, compare_value);
   270     }
   270     }
   271 
   271 
   272     template <typename T>
   272     template <typename T>
   273     static oop oop_atomic_xchg_in_heap(oop new_value, T* addr) {
   273     static oop oop_atomic_xchg_in_heap(T* addr, oop new_value) {
   274       return Raw::oop_atomic_xchg(new_value, addr);
   274       return Raw::oop_atomic_xchg(addr, new_value);
   275     }
   275     }
   276 
   276 
   277     static oop oop_atomic_xchg_in_heap_at(oop new_value, oop base, ptrdiff_t offset) {
   277     static oop oop_atomic_xchg_in_heap_at(oop base, ptrdiff_t offset, oop new_value) {
   278       return Raw::oop_atomic_xchg_at(new_value, base, offset);
   278       return Raw::oop_atomic_xchg_at(base, offset, new_value);
   279     }
   279     }
   280 
   280 
   281     template <typename T>
   281     template <typename T>
   282     static bool oop_arraycopy_in_heap(arrayOop src_obj, size_t src_offset_in_bytes, T* src_raw,
   282     static bool oop_arraycopy_in_heap(arrayOop src_obj, size_t src_offset_in_bytes, T* src_raw,
   283                                       arrayOop dst_obj, size_t dst_offset_in_bytes, T* dst_raw,
   283                                       arrayOop dst_obj, size_t dst_offset_in_bytes, T* dst_raw,
   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(oop new_value, T* addr, oop compare_value) {
   301       return Raw::oop_atomic_cmpxchg(new_value, addr, compare_value);
   301       return Raw::oop_atomic_cmpxchg(new_value, addr, compare_value);
   302     }
   302     }
   303 
   303 
   304     template <typename T>
   304     template <typename T>
   305     static oop oop_atomic_xchg_not_in_heap(oop new_value, T* addr) {
   305     static oop oop_atomic_xchg_not_in_heap(T* addr, oop new_value) {
   306       return Raw::oop_atomic_xchg(new_value, addr);
   306       return Raw::oop_atomic_xchg(addr, new_value);
   307     }
   307     }
   308 
   308 
   309     // Clone barrier support
   309     // Clone barrier support
   310     static void clone_in_heap(oop src, oop dst, size_t size) {
   310     static void clone_in_heap(oop src, oop dst, size_t size) {
   311       Raw::clone(src, dst, size);
   311       Raw::clone(src, dst, size);