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