src/hotspot/cpu/aarch64/gc/shenandoah/shenandoahBarrierSetAssembler_aarch64.cpp
changeset 57565 01bca26734bb
parent 57542 db740ced41c4
child 57716 bfcdcd00e4fb
equal deleted inserted replaced
57564:0a8436eda2fa 57565:01bca26734bb
   304 
   304 
   305   __ mov(rscratch2, dst);
   305   __ mov(rscratch2, dst);
   306   __ push_call_clobbered_registers();
   306   __ push_call_clobbered_registers();
   307   __ mov(lr, CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_native));
   307   __ mov(lr, CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier_native));
   308   __ mov(r0, rscratch2);
   308   __ mov(r0, rscratch2);
   309   __ blrt(lr, 1, 0, MacroAssembler::ret_type_integral);
   309   __ blr(lr);
   310   __ mov(rscratch2, r0);
   310   __ mov(rscratch2, r0);
   311   __ pop_call_clobbered_registers();
   311   __ pop_call_clobbered_registers();
   312   __ mov(dst, rscratch2);
   312   __ mov(dst, rscratch2);
   313 
   313 
   314   __ bind(done);
   314   __ bind(done);
   633   __ enter(); // required for proper stackwalking of RuntimeStub frame
   633   __ enter(); // required for proper stackwalking of RuntimeStub frame
   634 
   634 
   635   __ push_call_clobbered_registers();
   635   __ push_call_clobbered_registers();
   636 
   636 
   637   __ mov(lr, CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier));
   637   __ mov(lr, CAST_FROM_FN_PTR(address, ShenandoahRuntime::load_reference_barrier));
   638   __ blrt(lr, 1, 0, MacroAssembler::ret_type_integral);
   638   __ blr(lr);
   639   __ mov(rscratch1, r0);
   639   __ mov(rscratch1, r0);
   640   __ pop_call_clobbered_registers();
   640   __ pop_call_clobbered_registers();
   641   __ mov(r0, rscratch1);
   641   __ mov(r0, rscratch1);
   642 
   642 
   643   __ leave(); // required for proper stackwalking of RuntimeStub frame
   643   __ leave(); // required for proper stackwalking of RuntimeStub frame