equal
deleted
inserted
replaced
78 } |
78 } |
79 |
79 |
80 template <DecoratorSet decorators, typename BarrierSetT> |
80 template <DecoratorSet decorators, typename BarrierSetT> |
81 template <typename T> |
81 template <typename T> |
82 inline oop ModRefBarrierSet::AccessBarrier<decorators, BarrierSetT>:: |
82 inline oop ModRefBarrierSet::AccessBarrier<decorators, BarrierSetT>:: |
83 oop_atomic_xchg_in_heap(oop new_value, T* addr) { |
83 oop_atomic_xchg_in_heap(T* addr, oop new_value) { |
84 BarrierSetT *bs = barrier_set_cast<BarrierSetT>(barrier_set()); |
84 BarrierSetT *bs = barrier_set_cast<BarrierSetT>(barrier_set()); |
85 bs->template write_ref_field_pre<decorators>(addr); |
85 bs->template write_ref_field_pre<decorators>(addr); |
86 oop result = Raw::oop_atomic_xchg(new_value, addr); |
86 oop result = Raw::oop_atomic_xchg(addr, new_value); |
87 bs->template write_ref_field_post<decorators>(addr, new_value); |
87 bs->template write_ref_field_post<decorators>(addr, new_value); |
88 return result; |
88 return result; |
89 } |
89 } |
90 |
90 |
91 template <DecoratorSet decorators, typename BarrierSetT> |
91 template <DecoratorSet decorators, typename BarrierSetT> |