1%default { "helper":"MterpSet32Static"} 2 /* 3 * General SPUT handler wrapper. 4 * 5 * for: sput, sput-boolean, sput-byte, sput-char, sput-short 6 */ 7 /* op vAA, field//BBBB */ 8 EXPORT_PC 9 FETCH w0, 1 // r0<- field ref BBBB 10 lsr w3, wINST, #8 // r3<- AA 11 GET_VREG w1, w3 // r1<= fp[AA] 12 ldr x2, [xFP, #OFF_FP_METHOD] 13 mov x3, xSELF 14 PREFETCH_INST 2 // Get next inst, but don't advance rPC 15 bl $helper 16 cbnz w0, MterpException // 0 on success 17 ADVANCE 2 // Past exception point - now advance rPC 18 GET_INST_OPCODE ip // extract opcode from rINST 19 GOTO_OPCODE ip // jump to next instruction 20