< prev index next >

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

Print this page

295 
296     template <typename T>
297     static void oop_store_not_in_heap(T* addr, oop value) {
298       Raw::oop_store(addr, value);
299     }
300 
301     template <typename T>
302     static oop oop_atomic_cmpxchg_not_in_heap(T* addr, oop compare_value, oop new_value) {
303       return Raw::oop_atomic_cmpxchg(addr, compare_value, new_value);
304     }
305 
306     template <typename T>
307     static oop oop_atomic_xchg_not_in_heap(T* addr, oop new_value) {
308       return Raw::oop_atomic_xchg(addr, new_value);
309     }
310 
311     // Clone barrier support
312     static void clone_in_heap(oop src, oop dst, size_t size) {
313       Raw::clone(src, dst, size);
314     }








315   };
316 };
317 
318 template<typename T>
319 inline T* barrier_set_cast(BarrierSet* bs) {
320   assert(bs->is_a(BarrierSet::GetName<T>::value), "wrong type of barrier set");
321   return static_cast<T*>(bs);
322 }
323 
324 #endif // SHARE_GC_SHARED_BARRIERSET_HPP

295 
296     template <typename T>
297     static void oop_store_not_in_heap(T* addr, oop value) {
298       Raw::oop_store(addr, value);
299     }
300 
301     template <typename T>
302     static oop oop_atomic_cmpxchg_not_in_heap(T* addr, oop compare_value, oop new_value) {
303       return Raw::oop_atomic_cmpxchg(addr, compare_value, new_value);
304     }
305 
306     template <typename T>
307     static oop oop_atomic_xchg_not_in_heap(T* addr, oop new_value) {
308       return Raw::oop_atomic_xchg(addr, new_value);
309     }
310 
311     // Clone barrier support
312     static void clone_in_heap(oop src, oop dst, size_t size) {
313       Raw::clone(src, dst, size);
314     }
315 
316     static void value_copy_in_heap(const ValuePayload& src, const ValuePayload& dst) {
317       Raw::value_copy(src, dst);
318     }
319 
320     static void value_store_null_in_heap(const ValuePayload& dst) {
321       Raw::value_store_null(dst);
322     }
323   };
324 };
325 
326 template<typename T>
327 inline T* barrier_set_cast(BarrierSet* bs) {
328   assert(bs->is_a(BarrierSet::GetName<T>::value), "wrong type of barrier set");
329   return static_cast<T*>(bs);
330 }
331 
332 #endif // SHARE_GC_SHARED_BARRIERSET_HPP
< prev index next >