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