.align 3
- .quad 0 /* catch type all */
- .quad 0 /* handler pc */
- .quad 0 /* end pc */
- .quad 0 /* start pc */
- .long 1 /* extable size */
- .long 0 /* ALIGNMENT PADDING */
- .quad 0 /* line number table start */
- .quad 0 /* line number table size */
.long 0 /* fltsave */
.long 0 /* intsave */
.long 0 /* isleaf */
SAVE_TEMPORARY_REGISTERS(15)
- mr s0, r1 /* save stack pointer */
+ mr s0, sp /* save stack pointer */
/* a1 contains a pointer to a unit64_t structure filled with all INT_ARG_REG,
followed by ADR_ARG_CNT and FLT_ARG_CNT, afterwards what else needs to be copied onto
RESTORE_TEMPORARY_REGISTERS(15)
- ld r0,40*8+LA_LR_OFFSET(r1)
+ ld r0,40*8+LA_LR_OFFSET(sp)
mtlr r0
- addi r1,r1,40*8
+ addi sp,sp,40*8
blr
asm_vm_call_method_exception_handler:
std itmp3,LA_SIZE+PA_SIZE+(4+4)*8(sp) /* save maybe-leaf flag (cleared) */
mr a0,r0 /* pass return address */
- bl md_codegen_get_pv_from_pc /* get PV from RA */
+ bl md_asm_codegen_get_pv_from_pc /* get PV from RA */
std v0,LA_SIZE+PA_SIZE+(4+2)*8(sp) /* save data segment pointer */
ld a0,LA_SIZE+PA_SIZE+(4+0)*8(sp) /* pass xptr */