< prev index next >

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

roman_version

244     }                                                                                                                                
245 
246     template <typename T>                                                                                                            
247     static oop oop_atomic_cmpxchg_not_in_heap(oop new_value, T* addr, oop compare_value) {                                           
248       return Raw::oop_atomic_cmpxchg(new_value, addr, compare_value);                                                                
249     }                                                                                                                                
250 
251     template <typename T>                                                                                                            
252     static oop oop_atomic_xchg_not_in_heap(oop new_value, T* addr) {                                                                 
253       return Raw::oop_atomic_xchg(new_value, addr);                                                                                  
254     }                                                                                                                                
255 
256     // Clone barrier support                                                                                                         
257     static void clone_in_heap(oop src, oop dst, size_t size) {                                                                       
258       Raw::clone(src, dst, size);                                                                                                    
259     }                                                                                                                                
260 
261     static oop resolve(oop obj) {                                                                                                    
262       return Raw::resolve(obj);                                                                                                      
263     }                                                                                                                                
                                                                                                                                     
                                                                                                                                     
                                                                                                                                     
                                                                                                                                     
264   };                                                                                                                                 
265 };                                                                                                                                   
266 
267 template<typename T>                                                                                                                 
268 inline T* barrier_set_cast(BarrierSet* bs) {                                                                                         
269   assert(bs->is_a(BarrierSet::GetName<T>::value), "wrong type of barrier set");                                                      
270   return static_cast<T*>(bs);                                                                                                        
271 }                                                                                                                                    
272 
273 #endif // SHARE_VM_GC_SHARED_BARRIERSET_HPP                                                                                          

244     }
245 
246     template <typename T>
247     static oop oop_atomic_cmpxchg_not_in_heap(oop new_value, T* addr, oop compare_value) {
248       return Raw::oop_atomic_cmpxchg(new_value, addr, compare_value);
249     }
250 
251     template <typename T>
252     static oop oop_atomic_xchg_not_in_heap(oop new_value, T* addr) {
253       return Raw::oop_atomic_xchg(new_value, addr);
254     }
255 
256     // Clone barrier support
257     static void clone_in_heap(oop src, oop dst, size_t size) {
258       Raw::clone(src, dst, size);
259     }
260 
261     static oop resolve(oop obj) {
262       return Raw::resolve(obj);
263     }
264 
265     static bool equals(oop o1, oop o2) {
266       return Raw::equals(o1, o2);
267     }
268   };
269 };
270 
271 template<typename T>
272 inline T* barrier_set_cast(BarrierSet* bs) {
273   assert(bs->is_a(BarrierSet::GetName<T>::value), "wrong type of barrier set");
274   return static_cast<T*>(bs);
275 }
276 
277 #endif // SHARE_VM_GC_SHARED_BARRIERSET_HPP
< prev index next >