# HG changeset patch # User aph # Date 1572891214 18000 # Node ID 33f9271b3167c1668bf99a9c09981c55bd6af31d # Parent 02ae223a11dc19503a434c856b081cea0ef355eb# Parent 7298f7c503b4fc0b6ba80ca74641219b2818c659 Merge diff -r 02ae223a11dc -r 33f9271b3167 src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp --- a/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Mon Nov 04 10:03:32 2019 -0800 +++ b/src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp Mon Nov 04 13:13:34 2019 -0500 @@ -443,8 +443,9 @@ __ cbz(obj, done); assert(obj != rscratch2, "need rscratch2"); - Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset())); - __ ldrb(rscratch2, gc_state); + Address gc_state(jni_env, ShenandoahThreadLocalData::gc_state_offset() - JavaThread::jni_environment_offset()); + __ lea(rscratch2, gc_state); + __ ldrb(rscratch2, Address(rscratch2)); // Check for heap in evacuation phase __ tbnz(rscratch2, ShenandoahHeap::EVACUATION_BITPOS, slowpath);