Home | History | Annotate | Download | only in arm
      1 %default { "helper":"artSet32StaticFromCode"}
      2     /*
      3      * General SPUT handler wrapper.
      4      *
      5      * for: sput, sput-boolean, sput-byte, sput-char, sput-short
      6      */
      7     /* op vAA, field@BBBB */
      8     EXPORT_PC
      9     FETCH   r0, 1                       @ r0<- field ref BBBB
     10     mov     r3, rINST, lsr #8           @ r3<- AA
     11     GET_VREG r1, r3                     @ r1<= fp[AA]
     12     ldr     r2, [rFP, #OFF_FP_METHOD]
     13     mov     r3, rSELF
     14     PREFETCH_INST 2                     @ Get next inst, but don't advance rPC
     15     bl      $helper
     16     cmp     r0, #0                      @ 0 on success, -1 on failure
     17     bne     MterpException
     18     ADVANCE 2                           @ Past exception point - now advance rPC
     19     GET_INST_OPCODE ip                  @ extract opcode from rINST
     20     GOTO_OPCODE ip                      @ jump to next instruction
     21