1    /*
2     * Array object get.  vAA <- vBB[vCC].
3     *
4     * for: aget-object
5     */
6    /* op vAA, vBB, vCC */
7    FETCH_B w2, 1, 0                    // w2<- BB
8    FETCH_B w3, 1, 1                    // w3<- CC
9    EXPORT_PC
10    GET_VREG w0, w2                     // w0<- vBB (array object)
11    GET_VREG w1, w3                     // w1<- vCC (requested index)
12    bl       artAGetObjectFromMterp     // (array, index)
13    ldr      x1, [xSELF, #THREAD_EXCEPTION_OFFSET]
14    lsr      w2, wINST, #8               // w9<- AA
15    PREFETCH_INST 2
16    cbnz     w1, MterpException
17    SET_VREG_OBJECT w0, w2
18    ADVANCE 2
19    GET_INST_OPCODE ip
20    GOTO_OPCODE ip                      // jump to next instruction
21