1%default { "handler":"artSet32InstanceFromMterp"}
2/*
3 * General 32-bit instance field put.
4 *
5 * for: iput, iput-object, iput-boolean, iput-byte, iput-char, iput-short
6 */
7    /* op vA, vB, field@CCCC */
8    .extern $handler
9    EXPORT_PC
10    movzwl  2(rPC), OUT_32_ARG0             # field ref <- 0000CCCC
11    movzbq  rINSTbl, %rcx                   # rcx<- BA
12    sarl    $$4, %ecx                       # ecx<- B
13    GET_VREG OUT_32_ARG1, %rcx              # the object pointer
14    andb    $$0xf, rINSTbl                  # rINST<- A
15    GET_VREG OUT_32_ARG2, rINSTq            # fp[A]
16    movq    OFF_FP_METHOD(rFP), OUT_ARG3    # referrer
17    call    SYMBOL($handler)
18    testb   %al, %al
19    jnz     MterpPossibleException
20    ADVANCE_PC_FETCH_AND_GOTO_NEXT 2
21