%verify "executed"
%verify "null object"
    /* For: iput-object-quick */
    # op vA, vB, offset                    /* CCCC */
    GET_OPB(a2)                            #  a2 <- B
    GET_VREG(a3, a2)                       #  a3 <- fp[B], the object pointer
    FETCH(a1, 1)                           #  a1 <- field byte offset
    GET_OPA4(a2)                           #  a2 <- A(+)
    beqz      a3, common_errNullObject     #  object was null
    GET_VREG(a0, a2)                       #  a0 <- fp[A]
    FETCH_ADVANCE_INST(2)                  #  advance rPC, load rINST
    addu      t0, a3, a1
    sw        a0, 0(t0)                    #  obj.field (always 32 bits) <- a0
    beqz      a0, 1f
    lw        a2, offThread_cardTable(rSELF) #  a2 <- card table base
    srl       t1, a3, GC_CARD_SHIFT
    addu      t2, a2, t1
    sb        a2, 0(t2)
1:
    GET_INST_OPCODE(t0)                    #  extract opcode from rINST
    GOTO_OPCODE(t0)                        #  jump to next instruction