Home | History | Annotate | Download | only in mips
      1     /*
      2      * 64-bit instance field get.
      3      *
      4      * for: iget-wide
      5      */
      6     EXPORT_PC()
      7     FETCH(a0, 1)                           # a0 <- field byte offset
      8     GET_OPB(a1)                            # a1 <- B
      9     GET_VREG(a1, a1)                       # a1 <- fp[B], the object pointer
     10     lw    a2, OFF_FP_METHOD(rFP)           # a2 <- referrer
     11     move  a3, rSELF                        # a3 <- self
     12     JAL(artGet64InstanceFromCode)
     13     lw   a3, THREAD_EXCEPTION_OFFSET(rSELF)
     14     GET_OPA4(a2)                           # a2<- A+
     15     PREFETCH_INST(2)                       # load rINST
     16     bnez a3, MterpException                # bail out
     17     SET_VREG64(v0, v1, a2)                 # fp[A] <- v0/v1
     18     ADVANCE(2)                             # advance rPC
     19     GET_INST_OPCODE(t0)                    # extract opcode from rINST
     20     GOTO_OPCODE(t0)                        # jump to next instruction
     21