Home | History | Annotate | Download | only in arm64
      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