src/hotspot/share/gc/shared/barrierSet.hpp
changeset 59252 623722a6aeb9
parent 59251 4cbfa5077d68
equal deleted inserted replaced
59251:4cbfa5077d68 59252:623722a6aeb9
   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);