blob: d9753b1409d0d22d608cdc16ae4512e25169e009 [file] [log] [blame]
Douglas Leung200f0402016-02-25 20:05:47 -08001%default { "store":"sw" }
2 /* For: iput-quick, iput-object-quick */
Alexey Frunze84603bf2016-10-21 19:54:43 -07003 /* op vA, vB, offset@CCCC */
Douglas Leung200f0402016-02-25 20:05:47 -08004 GET_OPB(a2) # a2 <- B
5 GET_VREG(a3, a2) # a3 <- fp[B], the object pointer
6 FETCH(a1, 1) # a1 <- field byte offset
7 GET_OPA4(a2) # a2 <- A(+)
8 beqz a3, common_errNullObject # object was null
9 GET_VREG(a0, a2) # a0 <- fp[A]
10 FETCH_ADVANCE_INST(2) # advance rPC, load rINST
11 addu t0, a3, a1
Alexey Frunze84603bf2016-10-21 19:54:43 -070012 GET_INST_OPCODE(t1) # extract opcode from rINST
13 GET_OPCODE_TARGET(t1)
Douglas Leung200f0402016-02-25 20:05:47 -080014 $store a0, 0(t0) # obj.field (8/16/32 bits) <- a0
Alexey Frunze84603bf2016-10-21 19:54:43 -070015 JR(t1) # jump to next instruction