src/hotspot/share/gc/shared/modRefBarrierSet.inline.hpp
changeset 59251 4cbfa5077d68
parent 53244 9807daeb47c4
child 59252 623722a6aeb9
equal deleted inserted replaced
59250:a6deb69743d4 59251:4cbfa5077d68
    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>