1%default { "helper":"artSet32StaticFromCode"}
2    /*
3     * General SPUT handler.
4     *
5     * for: sput, sput-boolean, sput-byte, sput-char, sput-short
6     */
7    # op vAA, field                        /* BBBB */
8    EXPORT_PC()
9    FETCH(a0, 1)                           # a0 <- field ref BBBB
10    GET_OPA(a3)                            # a3 <- AA
11    GET_VREG(a1, a3)                       # a1 <- fp[AA], the object pointer
12    lw    a2, OFF_FP_METHOD(rFP)           # a2 <- method
13    move  a3, rSELF                        # a3 <- self
14    PREFETCH_INST(2)                       # load rINST
15    JAL($helper)
16    bnez  v0, MterpException               # bail out
17    ADVANCE(2)                             # advance rPC
18    GET_INST_OPCODE(t0)                    # extract opcode from rINST
19    GOTO_OPCODE(t0)                        # jump to next instruction
20