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