< prev index next >

src/hotspot/share/gc/z/zBarrierSet.hpp

Print this page




  67     //
  68     template <typename T>
  69     static oop oop_load_in_heap(T* addr);
  70     static oop oop_load_in_heap_at(oop base, ptrdiff_t offset);
  71 
  72     template <typename T>
  73     static oop oop_atomic_cmpxchg_in_heap(oop new_value, T* addr, oop compare_value);
  74     static oop oop_atomic_cmpxchg_in_heap_at(oop new_value, oop base, ptrdiff_t offset, oop compare_value);
  75 
  76     template <typename T>
  77     static oop oop_atomic_xchg_in_heap(oop new_value, T* addr);
  78     static oop oop_atomic_xchg_in_heap_at(oop new_value, oop base, ptrdiff_t offset);
  79 
  80     template <typename T>
  81     static void oop_arraycopy_in_heap(arrayOop src_obj, size_t src_offset_in_bytes, T* src_raw,
  82                                       arrayOop dst_obj, size_t dst_offset_in_bytes, T* dst_raw,
  83                                       size_t length);
  84 
  85     static void clone_in_heap(oop src, oop dst, size_t size);
  86 


  87     //
  88     // Not in heap
  89     //
  90     template <typename T>
  91     static oop oop_load_not_in_heap(T* addr);
  92 
  93     template <typename T>
  94     static oop oop_atomic_cmpxchg_not_in_heap(oop new_value, T* addr, oop compare_value);
  95 
  96     template <typename T>
  97     static oop oop_atomic_xchg_not_in_heap(oop new_value, T* addr);
  98   };
  99 };
 100 
 101 template<> struct BarrierSet::GetName<ZBarrierSet> {
 102   static const BarrierSet::Name value = BarrierSet::ZBarrierSet;
 103 };
 104 
 105 template<> struct BarrierSet::GetType<BarrierSet::ZBarrierSet> {
 106   typedef ::ZBarrierSet type;


  67     //
  68     template <typename T>
  69     static oop oop_load_in_heap(T* addr);
  70     static oop oop_load_in_heap_at(oop base, ptrdiff_t offset);
  71 
  72     template <typename T>
  73     static oop oop_atomic_cmpxchg_in_heap(oop new_value, T* addr, oop compare_value);
  74     static oop oop_atomic_cmpxchg_in_heap_at(oop new_value, oop base, ptrdiff_t offset, oop compare_value);
  75 
  76     template <typename T>
  77     static oop oop_atomic_xchg_in_heap(oop new_value, T* addr);
  78     static oop oop_atomic_xchg_in_heap_at(oop new_value, oop base, ptrdiff_t offset);
  79 
  80     template <typename T>
  81     static void oop_arraycopy_in_heap(arrayOop src_obj, size_t src_offset_in_bytes, T* src_raw,
  82                                       arrayOop dst_obj, size_t dst_offset_in_bytes, T* dst_raw,
  83                                       size_t length);
  84 
  85     static void clone_in_heap(oop src, oop dst, size_t size);
  86 
  87     static void value_copy_in_heap(void* src, void* dst, ValueKlass* md);
  88 
  89     //
  90     // Not in heap
  91     //
  92     template <typename T>
  93     static oop oop_load_not_in_heap(T* addr);
  94 
  95     template <typename T>
  96     static oop oop_atomic_cmpxchg_not_in_heap(oop new_value, T* addr, oop compare_value);
  97 
  98     template <typename T>
  99     static oop oop_atomic_xchg_not_in_heap(oop new_value, T* addr);
 100   };
 101 };
 102 
 103 template<> struct BarrierSet::GetName<ZBarrierSet> {
 104   static const BarrierSet::Name value = BarrierSet::ZBarrierSet;
 105 };
 106 
 107 template<> struct BarrierSet::GetType<BarrierSet::ZBarrierSet> {
 108   typedef ::ZBarrierSet type;
< prev index next >