Home | History | Annotate | Download | only in mips
      1 %default { "handler":"artSet32InstanceFromMterp" }
      2     /*
      3      * General 32-bit instance field put.
      4      *
      5      * for: iput, iput-boolean, iput-byte, iput-char, iput-short
      6      */
      7     # op vA, vB, field                     /* CCCC */
      8     .extern $handler
      9     EXPORT_PC()
     10     FETCH(a0, 1)                           # a0 <- field ref CCCC
     11     GET_OPB(a1)                            # a1 <- B
     12     GET_VREG(a1, a1)                       # a1 <- fp[B], the object pointer
     13     GET_OPA4(a2)                           # a2 <- A+
     14     GET_VREG(a2, a2)                       # a2 <- fp[A]
     15     lw    a3, OFF_FP_METHOD(rFP)           # a3 <- referrer
     16     PREFETCH_INST(2)                       # load rINST
     17     JAL($handler)
     18     bnez  v0, MterpPossibleException       # bail out
     19     ADVANCE(2)                             # advance rPC
     20     GET_INST_OPCODE(t0)                    # extract opcode from rINST
     21     GOTO_OPCODE(t0)                        # jump to next instruction
     22