1 /* 2 * SGET_WIDE handler wrapper. 3 * 4 */ 5 /* sget-wide vAA, field@BBBB */ 6 7 .extern MterpGet64Static 8 EXPORT_PC 9 FETCH r0, 1 @ r0<- field ref BBBB 10 ldr r1, [rFP, #OFF_FP_METHOD] 11 mov r2, rSELF 12 bl MterpGet64Static 13 ldr r3, [rSELF, #THREAD_EXCEPTION_OFFSET] 14 mov r9, rINST, lsr #8 @ r9<- AA 15 VREG_INDEX_TO_ADDR lr, r9 @ r9<- &fp[AA] 16 cmp r3, #0 @ Fail to resolve? 17 bne MterpException @ bail out 18 FETCH_ADVANCE_INST 2 @ advance rPC, load rINST 19 CLEAR_SHADOW_PAIR r9, r2, ip @ Zero out the shadow regs 20 stmia lr, {r0-r1} @ vAA/vAA+1<- r0/r1 21 GET_INST_OPCODE ip @ extract opcode from rINST 22 GOTO_OPCODE ip @ jump to next instruction 23