%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 | |
cbz w3, 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 |