Home | History | Annotate | Download | only in arm
      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