1    /*
2     * 64-bit instance field get.
3     *
4     * for: iget-wide
5     */
6    /* op vA, vB, field@CCCC */
7    EXPORT_PC()
8    FETCH(a0, 1)                           # a0 <- field byte offset
9    GET_OPB(a1)                            # a1 <- B
10    GET_VREG(a1, a1)                       # a1 <- fp[B], the object pointer
11    lw    a2, OFF_FP_METHOD(rFP)           # a2 <- referrer
12    move  a3, rSELF                        # a3 <- self
13    JAL(artGet64InstanceFromCode)
14    lw   a3, THREAD_EXCEPTION_OFFSET(rSELF)
15    GET_OPA4(a2)                           # a2<- A+
16    PREFETCH_INST(2)                       # load rINST
17    bnez a3, MterpException                # bail out
18    ADVANCE(2)                             # advance rPC
19    GET_INST_OPCODE(t0)                    # extract opcode from rINST
20    SET_VREG64_GOTO(v0, v1, a2, t0)        # fp[A] <- v0/v1
21