blob: 171d54301b26f04e704a9662bfe08d97d8dc6d38 [file] [log] [blame]
/* For: iget-object-quick */
/* op vA, vB, offset//CCCC */
.extern artIGetObjectFromMterp
srl a2, rINST, 12 # a2 <- B
lhu a1, 2(rPC) # a1 <- field byte offset
EXPORT_PC
GET_VREG_U a0, a2 # a0 <- object we're operating on
jal artIGetObjectFromMterp # (obj, offset)
ld a3, THREAD_EXCEPTION_OFFSET(rSELF)
ext a2, rINST, 8, 4 # a2 <- A
PREFETCH_INST 2
bnez a3, MterpPossibleException # bail out
SET_VREG_OBJECT v0, a2 # fp[A] <- v0
ADVANCE 2 # advance rPC
GET_INST_OPCODE v0 # extract opcode from rINST
GOTO_OPCODE v0 # jump to next instruction