equal
deleted
inserted
replaced
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 |