src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp
changeset 58916 7298f7c503b4
parent 58858 75099fcf7962
child 58946 83810b7d12e7
equal deleted inserted replaced
58868:f547a06da806 58916:7298f7c503b4
   441 
   441 
   442   // Check for null.
   442   // Check for null.
   443   __ cbz(obj, done);
   443   __ cbz(obj, done);
   444 
   444 
   445   assert(obj != rscratch2, "need rscratch2");
   445   assert(obj != rscratch2, "need rscratch2");
   446   Address gc_state(rthread, in_bytes(ShenandoahThreadLocalData::gc_state_offset()));
   446   Address gc_state(jni_env, ShenandoahThreadLocalData::gc_state_offset() - JavaThread::jni_environment_offset());
   447   __ ldrb(rscratch2, gc_state);
   447   __ lea(rscratch2, gc_state);
       
   448   __ ldrb(rscratch2, Address(rscratch2));
   448 
   449 
   449   // Check for heap in evacuation phase
   450   // Check for heap in evacuation phase
   450   __ tbnz(rscratch2, ShenandoahHeap::EVACUATION_BITPOS, slowpath);
   451   __ tbnz(rscratch2, ShenandoahHeap::EVACUATION_BITPOS, slowpath);
   451 
   452 
   452   __ bind(done);
   453   __ bind(done);