RFR: Aarch64: Fix C1 LRB call in atomic_xchg intrinsic
Roman Kennke
rkennke at redhat.com
Wed Aug 14 19:04:57 UTC 2019
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
Ok?
More information about the shenandoah-dev
mailing list