1 /* 2 * 64-bit instance field get. 3 * 4 * for: iget-wide 5 */ 6 EXPORT_PC 7 FETCH r0, 1 @ r0<- field ref CCCC 8 mov r1, rINST, lsr #12 @ r1<- B 9 GET_VREG r1, r1 @ r1<- fp[B], the object pointer 10 ldr r2, [rFP, #OFF_FP_METHOD] @ r2<- referrer 11 mov r3, rSELF @ r3<- self 12 bl artGet64InstanceFromCode 13 ldr r3, [rSELF, #THREAD_EXCEPTION_OFFSET] 14 ubfx r2, rINST, #8, #4 @ r2<- A 15 PREFETCH_INST 2 16 cmp r3, #0 17 bne MterpException @ bail out 18 CLEAR_SHADOW_PAIR r2, ip, lr @ Zero out the shadow regs 19 VREG_INDEX_TO_ADDR r3, r2 @ r3<- &fp[A] 20 stmia r3, {r0-r1} @ fp[A]<- r0/r1 21 ADVANCE 2 22 GET_INST_OPCODE ip @ extract opcode from rINST 23 GOTO_OPCODE ip @ jump to next instruction 24