blob: 45c68a3a79ff82580a8039dbce1d9f76735703e1 [file] [log] [blame]
%default { "load":"ldr", "extend":"" }
/* For: iget-quick, iget-boolean-quick, iget-byte-quick, iget-char-quick, iget-short-quick */
/* op vA, vB, offset//CCCC */
lsr w2, wINST, #12 // w2<- B
FETCH w1, 1 // w1<- field byte offset
GET_VREG w3, w2 // w3<- object we're operating on
ubfx w2, wINST, #8, #4 // w2<- A
cmp x3, #0 // check object for null
beq common_errNullObject // object was null
$load w0, [x3, x1] // w0<- obj.field
FETCH_ADVANCE_INST 2 // advance rPC, load rINST
$extend
SET_VREG w0, w2 // fp[A]<- w0
GET_INST_OPCODE ip // extract opcode from rINST
GOTO_OPCODE ip // jump to next instruction