1 /* 2 * Array object get. vAA <- vBB[vCC]. 3 * 4 * for: aget-object 5 */ 6 /* op vAA, vBB, vCC */ 7 .extern artAGetObjectFromMterp 8 lbu a2, 2(rPC) # a2 <- BB 9 lbu a3, 3(rPC) # a3 <- CC 10 EXPORT_PC 11 GET_VREG_U a0, a2 # a0 <- vBB (array object) 12 GET_VREG a1, a3 # a1 <- vCC (requested index) 13 jal artAGetObjectFromMterp # (array, index) 14 ld a1, THREAD_EXCEPTION_OFFSET(rSELF) 15 srl a4, rINST, 8 # a4 <- AA 16 PREFETCH_INST 2 17 bnez a1, MterpException 18 SET_VREG_OBJECT v0, a4 # vAA <- v0 19 ADVANCE 2 20 GET_INST_OPCODE v0 # extract opcode from rINST 21 GOTO_OPCODE v0 # jump to next instruction 22