@@ -644,7 +644,8 @@ Node* ShenandoahBarrierSetC2::atomic_cmpxchg_val_at_resolved(C2AtomicParseAccess
644
644
load_store = kit->gvn ().transform (new DecodeNNode (load_store, load_store->get_ptr_type ()));
645
645
}
646
646
#endif
647
- load_store = kit->gvn ().transform (new ShenandoahLoadReferenceBarrierNode (NULL , load_store, ShenandoahBarrierSet::AccessKind::NORMAL));
647
+ ShenandoahBarrierSet::AccessKind kind = ShenandoahBarrierSet::access_kind (access .decorators (), access .type ());
648
+ load_store = kit->gvn ().transform (new ShenandoahLoadReferenceBarrierNode (NULL , load_store, kind));
648
649
return load_store;
649
650
}
650
651
return BarrierSetC2::atomic_cmpxchg_val_at_resolved (access , expected_val, new_val, value_type);
@@ -712,7 +713,8 @@ Node* ShenandoahBarrierSetC2::atomic_xchg_at_resolved(C2AtomicParseAccess& acces
712
713
}
713
714
Node* result = BarrierSetC2::atomic_xchg_at_resolved (access , val, value_type);
714
715
if (access .is_oop ()) {
715
- result = kit->gvn ().transform (new ShenandoahLoadReferenceBarrierNode (NULL , result, ShenandoahBarrierSet::AccessKind::NORMAL));
716
+ ShenandoahBarrierSet::AccessKind kind = ShenandoahBarrierSet::access_kind (access .decorators (), access .type ());
717
+ result = kit->gvn ().transform (new ShenandoahLoadReferenceBarrierNode (NULL , result, kind));
716
718
shenandoah_write_barrier_pre (kit, false /* do_load */ ,
717
719
NULL , NULL , max_juint, NULL , NULL ,
718
720
result /* pre_val */ , T_OBJECT);
1 commit comments
openjdk-notifier[bot] commentedon Nov 9, 2020
Review
Issues