equal
deleted
inserted
replaced
77 |
77 |
78 public: |
78 public: |
79 template <typename T> |
79 template <typename T> |
80 static void oop_store_in_heap(T* addr, oop value); |
80 static void oop_store_in_heap(T* addr, oop value); |
81 template <typename T> |
81 template <typename T> |
82 static oop oop_atomic_cmpxchg_in_heap(oop new_value, T* addr, oop compare_value); |
82 static oop oop_atomic_cmpxchg_in_heap(T* addr, oop compare_value, oop new_value); |
83 template <typename T> |
83 template <typename T> |
84 static oop oop_atomic_xchg_in_heap(T* addr, oop new_value); |
84 static oop oop_atomic_xchg_in_heap(T* addr, oop new_value); |
85 |
85 |
86 template <typename T> |
86 template <typename T> |
87 static bool oop_arraycopy_in_heap(arrayOop src_obj, size_t src_offset_in_bytes, T* src_raw, |
87 static bool oop_arraycopy_in_heap(arrayOop src_obj, size_t src_offset_in_bytes, T* src_raw, |
96 |
96 |
97 static oop oop_atomic_xchg_in_heap_at(oop base, ptrdiff_t offset, oop new_value) { |
97 static oop oop_atomic_xchg_in_heap_at(oop base, ptrdiff_t offset, oop new_value) { |
98 return oop_atomic_xchg_in_heap(AccessInternal::oop_field_addr<decorators>(base, offset), new_value); |
98 return oop_atomic_xchg_in_heap(AccessInternal::oop_field_addr<decorators>(base, offset), new_value); |
99 } |
99 } |
100 |
100 |
101 static oop oop_atomic_cmpxchg_in_heap_at(oop new_value, oop base, ptrdiff_t offset, oop compare_value) { |
101 static oop oop_atomic_cmpxchg_in_heap_at(oop base, ptrdiff_t offset, oop compare_value, oop new_value) { |
102 return oop_atomic_cmpxchg_in_heap(new_value, AccessInternal::oop_field_addr<decorators>(base, offset), compare_value); |
102 return oop_atomic_cmpxchg_in_heap(AccessInternal::oop_field_addr<decorators>(base, offset), compare_value, new_value); |
103 } |
103 } |
104 }; |
104 }; |
105 }; |
105 }; |
106 |
106 |
107 template<> |
107 template<> |