blob: bc3d758c5e178e024c918c4b9782b0be442aadfa [file] [log] [blame]
Alexey Frunze84603bf2016-10-21 19:54:43 -07001 /* iput-wide vA, vB, field@CCCC */
Douglas Leung200f0402016-02-25 20:05:47 -08002 .extern artSet64InstanceFromMterp
3 EXPORT_PC()
4 FETCH(a0, 1) # a0 <- field ref CCCC
5 GET_OPB(a1) # a1 <- B
6 GET_VREG(a1, a1) # a1 <- fp[B], the object pointer
7 GET_OPA4(a2) # a2 <- A+
8 EAS2(a2, rFP, a2) # a2 <- &fp[A]
9 lw a3, OFF_FP_METHOD(rFP) # a3 <- referrer
10 PREFETCH_INST(2) # load rINST
11 JAL(artSet64InstanceFromMterp)
12 bnez v0, MterpPossibleException # bail out
13 ADVANCE(2) # advance rPC
14 GET_INST_OPCODE(t0) # extract opcode from rINST
15 GOTO_OPCODE(t0) # jump to next instruction