blob: 31d94b9cb9d98430d455f448e0e80113ef446b59 [file] [log] [blame]
Douglas Leung200f0402016-02-25 20:05:47 -08001 /* For: iget-object-quick */
2 /* op vA, vB, offset@CCCC */
3 GET_OPB(a2) # a2 <- B
4 FETCH(a1, 1) # a1 <- field byte offset
5 EXPORT_PC()
6 GET_VREG(a0, a2) # a0 <- object we're operating on
7 JAL(artIGetObjectFromMterp) # v0 <- GetObj(obj, offset)
8 lw a3, THREAD_EXCEPTION_OFFSET(rSELF)
9 GET_OPA4(a2) # a2<- A+
10 PREFETCH_INST(2) # load rINST
11 bnez a3, MterpPossibleException # bail out
12 SET_VREG_OBJECT(v0, a2) # fp[A] <- v0
13 ADVANCE(2) # advance rPC
14 GET_INST_OPCODE(t0) # extract opcode from rINST
15 GOTO_OPCODE(t0) # jump to next instruction