Home | History | Annotate | Download | only in arm
      1     /*
      2      * SGET_WIDE handler wrapper.
      3      *
      4      */
      5     /* sget-wide vAA, field@BBBB */
      6 
      7     .extern artGet64StaticFromCode
      8     EXPORT_PC
      9     FETCH r0, 1                         @ r0<- field ref BBBB
     10     ldr   r1, [rFP, #OFF_FP_METHOD]
     11     mov   r2, rSELF
     12     bl    artGet64StaticFromCode
     13     ldr   r3, [rSELF, #THREAD_EXCEPTION_OFFSET]
     14     mov   r9, rINST, lsr #8             @ r9<- AA
     15     VREG_INDEX_TO_ADDR lr, r9           @ r9<- &fp[AA]
     16     cmp   r3, #0                        @ Fail to resolve?
     17     bne   MterpException                @ bail out
     18     FETCH_ADVANCE_INST 2                @ advance rPC, load rINST
     19     CLEAR_SHADOW_PAIR r9, r2, ip        @ Zero out the shadow regs
     20     stmia lr, {r0-r1}                   @ vAA/vAA+1<- r0/r1
     21     GET_INST_OPCODE ip                  @ extract opcode from rINST
     22     GOTO_OPCODE ip                      @ jump to next instruction
     23