1 %default { "is_object":"0", "helper":"artGet32StaticFromCode" } 2 /* 3 * General SGET handler wrapper. 4 * 5 * for: sget, sget-object, sget-boolean, sget-byte, sget-char, sget-short 6 */ 7 /* op vAA, field@BBBB */ 8 9 .extern $helper 10 EXPORT_PC 11 FETCH r0, 1 @ r0<- field ref BBBB 12 ldr r1, [rFP, #OFF_FP_METHOD] 13 mov r2, rSELF 14 bl $helper 15 ldr r3, [rSELF, #THREAD_EXCEPTION_OFFSET] 16 mov r2, rINST, lsr #8 @ r2<- AA 17 PREFETCH_INST 2 18 cmp r3, #0 @ Fail to resolve? 19 bne MterpException @ bail out 20 .if $is_object 21 SET_VREG_OBJECT r0, r2 @ fp[AA]<- r0 22 .else 23 SET_VREG r0, r2 @ fp[AA]<- r0 24 .endif 25 ADVANCE 2 26 GET_INST_OPCODE ip @ extract opcode from rINST 27 GOTO_OPCODE ip 28