• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1%verify "executed"
2%verify "null object"
3    /* iget-wide-quick vA, vB, offset@CCCC */
4    mov     r2, rINST, lsr #12          @ r2<- B
5    GET_VREG(r3, r2)                    @ r3<- object we're operating on
6    FETCH(ip, 1)                        @ ip<- field byte offset
7    cmp     r3, #0                      @ check object for null
8    mov     r2, rINST, lsr #8           @ r2<- A(+)
9    beq     common_errNullObject        @ object was null
10    ldrd    r0, [r3, ip]                @ r0<- obj.field (64 bits, aligned)
11    and     r2, r2, #15
12    FETCH_ADVANCE_INST(2)               @ advance rPC, load rINST
13    add     r3, rFP, r2, lsl #2         @ r3<- &fp[A]
14    GET_INST_OPCODE(ip)                 @ extract opcode from rINST
15    stmia   r3, {r0-r1}                 @ fp[A]<- r0/r1
16    GOTO_OPCODE(ip)                     @ jump to next instruction
17