RFR: Aarch64: Fix C1 LRB call in atomic_xchg intrinsic
Aleksey Shipilev
shade at redhat.com
Wed Aug 14 19:07:00 UTC 2019
On 8/14/19 9:04 PM, Roman Kennke wrote:
> I made a mistake when cherry-picking the atomic-xchg-fix into sh/jdk: I
> need to add a NULL address argument to the LRB call in atomic_xchg in
> aarch64 just like in x86.
>
> diff -r 9d02705e1563 -r 076c6c0cd8e9
> src/hotspot/cpu/aarch64/gc/shenandoah/c1/shenandoahBarrierSetC1_aarch64.cpp
> ---
> a/src/hotspot/cpu/aarch64/gc/shenandoah/c1/shenandoahBarrierSetC1_aarch64.cpp
> Tue Aug 13 22:57:21 2019 +0200
> +++
> b/src/hotspot/cpu/aarch64/gc/shenandoah/c1/shenandoahBarrierSetC1_aarch64.cpp
> Wed Aug 14 21:04:33 2019 +0200
> @@ -99,7 +99,7 @@
> __ xchg(access.resolved_addr(), value_opr, result, tmp);
>
> if (access.is_oop()) {
> - result = load_reference_barrier(access.gen(), result);
> + result = load_reference_barrier(access.gen(), result,
> LIR_OprFact::addressConst(0));
> LIR_Opr tmp = gen->new_register(type);
> __ move(result, tmp);
> result = tmp;
>
>
> Testing: hotspot_gc_shenandoah on aarch64
Yup!
--
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list