1    /*
2     * 64-bit instance field get.
3     *
4     * for: iget-wide
5     */
6    .extern artGet64InstanceFromCode
7    EXPORT_PC
8    lhu      a0, 2(rPC)                 # a0 <- field ref CCCC
9    srl      a1, rINST, 12              # a1 <- B
10    GET_VREG_U a1, a1                   # a1 <- fp[B], the object pointer
11    ld       a2, OFF_FP_METHOD(rFP)     # a2 <- referrer
12    move     a3, rSELF                  # a3 <- self
13    jal      artGet64InstanceFromCode
14    ld       a3, THREAD_EXCEPTION_OFFSET(rSELF)
15    ext      a2, rINST, 8, 4            # a2 <- A
16    PREFETCH_INST 2
17    bnez     a3, MterpPossibleException # bail out
18    SET_VREG_WIDE v0, a2                # fp[A] <- v0
19    ADVANCE 2
20    GET_INST_OPCODE v0                  # extract opcode from rINST
21    GOTO_OPCODE v0                      # jump to next instruction
22