< prev index next >

src/hotspot/share/oops/accessBackend.hpp

Access_arraycopy

366     store(field_addr(base, offset), value);                                                                                          
367   }                                                                                                                                  
368 
369   template <typename T>                                                                                                              
370   static T load_at(oop base, ptrdiff_t offset) {                                                                                     
371     return load<T>(field_addr(base, offset));                                                                                        
372   }                                                                                                                                  
373 
374   template <typename T>                                                                                                              
375   static T atomic_cmpxchg_at(T new_value, oop base, ptrdiff_t offset, T compare_value) {                                             
376     return atomic_cmpxchg(new_value, field_addr(base, offset), compare_value);                                                       
377   }                                                                                                                                  
378 
379   template <typename T>                                                                                                              
380   static T atomic_xchg_at(T new_value, oop base, ptrdiff_t offset) {                                                                 
381     return atomic_xchg(new_value, field_addr(base, offset));                                                                         
382   }                                                                                                                                  
383 
384   template <typename T>                                                                                                              
385   static bool oop_arraycopy(arrayOop src_obj, arrayOop dst_obj, T* src, T* dst, size_t length);                                      
386   static bool oop_arraycopy(arrayOop src_obj, arrayOop dst_obj, HeapWord* src, HeapWord* dst, size_t length);                        
387 
388   static void clone(oop src, oop dst, size_t size);                                                                                  
389 
390   static oop resolve(oop obj) { return obj; }                                                                                        
391 };                                                                                                                                   
392 
393 #endif // SHARE_VM_RUNTIME_ACCESSBACKEND_HPP                                                                                         

366     store(field_addr(base, offset), value);
367   }
368 
369   template <typename T>
370   static T load_at(oop base, ptrdiff_t offset) {
371     return load<T>(field_addr(base, offset));
372   }
373 
374   template <typename T>
375   static T atomic_cmpxchg_at(T new_value, oop base, ptrdiff_t offset, T compare_value) {
376     return atomic_cmpxchg(new_value, field_addr(base, offset), compare_value);
377   }
378 
379   template <typename T>
380   static T atomic_xchg_at(T new_value, oop base, ptrdiff_t offset) {
381     return atomic_xchg(new_value, field_addr(base, offset));
382   }
383 
384   template <typename T>
385   static bool oop_arraycopy(arrayOop src_obj, arrayOop dst_obj, T* src, T* dst, size_t length);

386 
387   static void clone(oop src, oop dst, size_t size);
388 
389   static oop resolve(oop obj) { return obj; }
390 };
391 
392 #endif // SHARE_VM_RUNTIME_ACCESSBACKEND_HPP
< prev index next >