equal
deleted
inserted
replaced
670 inline void do_oop_work(T* p) { |
670 inline void do_oop_work(T* p) { |
671 T o = RawAccess<>::oop_load(p); |
671 T o = RawAccess<>::oop_load(p); |
672 if (!CompressedOops::is_null(o)) { |
672 if (!CompressedOops::is_null(o)) { |
673 oop obj = CompressedOops::decode_not_null(o); |
673 oop obj = CompressedOops::decode_not_null(o); |
674 oop forw = ShenandoahBarrierSet::resolve_forwarded_not_null(obj); |
674 oop forw = ShenandoahBarrierSet::resolve_forwarded_not_null(obj); |
675 if (!oopDesc::equals_raw(obj, forw)) { |
675 if (obj != forw) { |
676 RawAccess<IS_NOT_NULL>::oop_store(p, forw); |
676 RawAccess<IS_NOT_NULL>::oop_store(p, forw); |
677 } |
677 } |
678 } |
678 } |
679 } |
679 } |
680 |
680 |