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), %eax # eax<- 0000CCCC 11 movl %eax, OUT_ARG0(%esp) # field ref CCCC 12 movzbl rINSTbl, %ecx # ecx<- BA 13 sarl $$4, %ecx # ecx<- B 14 GET_VREG %ecx, %ecx 15 movl %ecx, OUT_ARG1(%esp) # the object pointer 16 andb $$0xf, rINSTbl # rINST<- A 17 GET_VREG %eax, rINST 18 movl %eax, OUT_ARG2(%esp) # fp[A] 19 movl OFF_FP_METHOD(rFP), %eax 20 movl %eax, OUT_ARG3(%esp) # referrer 21 call SYMBOL($handler) 22 testb %al, %al 23 jnz MterpPossibleException 24 RESTORE_IBASE 25 ADVANCE_PC_FETCH_AND_GOTO_NEXT 2 26