1%default { "handler":"artSet32InstanceFromMterp" } 2 /* 3 * General 32-bit instance field put. 4 * 5 * for: iput, iput-boolean, iput-byte, iput-char, iput-short 6 */ 7 # op vA, vB, field /* CCCC */ 8 .extern $handler 9 EXPORT_PC() 10 FETCH(a0, 1) # a0 <- field ref CCCC 11 GET_OPB(a1) # a1 <- B 12 GET_VREG(a1, a1) # a1 <- fp[B], the object pointer 13 GET_OPA4(a2) # a2 <- A+ 14 GET_VREG(a2, a2) # a2 <- fp[A] 15 lw a3, OFF_FP_METHOD(rFP) # a3 <- referrer 16 PREFETCH_INST(2) # load rINST 17 JAL($handler) 18 bnez v0, MterpPossibleException # bail out 19 ADVANCE(2) # advance rPC 20 GET_INST_OPCODE(t0) # extract opcode from rINST 21 GOTO_OPCODE(t0) # jump to next instruction 22