equal
deleted
inserted
replaced
52 if (oopDesc::equals_raw(obj, forw)) { |
52 if (oopDesc::equals_raw(obj, forw)) { |
53 forw = _heap->evacuate_object(obj, thread); |
53 forw = _heap->evacuate_object(obj, thread); |
54 } |
54 } |
55 shenandoah_assert_forwarded_except(p, obj, _heap->cancelled_gc()); |
55 shenandoah_assert_forwarded_except(p, obj, _heap->cancelled_gc()); |
56 // Update reference. |
56 // Update reference. |
57 _heap->atomic_compare_exchange_oop(forw, p, obj); |
57 ShenandoahHeap::cas_oop(forw, p, obj); |
58 obj = forw; |
58 obj = forw; |
59 } |
59 } |
60 |
60 |
61 shenandoah_assert_not_forwarded(p, obj); |
61 shenandoah_assert_not_forwarded(p, obj); |
62 shenandoah_assert_not_in_cset_except(p, obj, _heap->cancelled_gc()); |
62 shenandoah_assert_not_in_cset_except(p, obj, _heap->cancelled_gc()); |