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