blob: 0eb228d005ddc55a6ede4ca014f21d52a185459e [file] [log] [blame]
Alexey Frunze84603bf2016-10-21 19:54:43 -07001 /* iput-wide-quick vA, vB, offset@CCCC */
Douglas Leung200f0402016-02-25 20:05:47 -08002 GET_OPA4(a0) # a0 <- A(+)
3 GET_OPB(a1) # a1 <- B
4 GET_VREG(a2, a1) # a2 <- fp[B], the object pointer
5 # check object for null
6 beqz a2, common_errNullObject # object was null
7 EAS2(a3, rFP, a0) # a3 <- &fp[A]
8 LOAD64(a0, a1, a3) # a0/a1 <- fp[A]
9 FETCH(a3, 1) # a3 <- field byte offset
10 FETCH_ADVANCE_INST(2) # advance rPC, load rINST
11 addu a2, a2, a3 # obj.field (64 bits, aligned) <- a0/a1
Douglas Leung200f0402016-02-25 20:05:47 -080012 GET_INST_OPCODE(t0) # extract opcode from rINST
Alexey Frunze84603bf2016-10-21 19:54:43 -070013 GET_OPCODE_TARGET(t0)
14 STORE64(a0, a1, a2) # obj.field (64 bits, aligned) <- a0/a1
15 JR(t0) # jump to next instruction