Home | History | Annotate | Download | only in mips
      1 %verify "executed"
      2 %verify "null object"
      3     /* For: iput-object-quick */
      4     # op vA, vB, offset                    /* CCCC */
      5     GET_OPB(a2)                            #  a2 <- B
      6     GET_VREG(a3, a2)                       #  a3 <- fp[B], the object pointer
      7     FETCH(a1, 1)                           #  a1 <- field byte offset
      8     GET_OPA4(a2)                           #  a2 <- A(+)
      9     beqz      a3, common_errNullObject     #  object was null
     10     GET_VREG(a0, a2)                       #  a0 <- fp[A]
     11     FETCH_ADVANCE_INST(2)                  #  advance rPC, load rINST
     12     addu      t0, a3, a1
     13     sw        a0, 0(t0)                    #  obj.field (always 32 bits) <- a0
     14     beqz      a0, 1f
     15     lw        a2, offThread_cardTable(rSELF) #  a2 <- card table base
     16     srl       t1, a3, GC_CARD_SHIFT
     17     addu      t2, a2, t1
     18     sb        a2, 0(t2)
     19 1:
     20     GET_INST_OPCODE(t0)                    #  extract opcode from rINST
     21     GOTO_OPCODE(t0)                        #  jump to next instruction
     22