Home | History | Annotate | Download | only in mips64
      1 %default { "helper":"MterpSet32Static" }
      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     .extern $helper
      9     EXPORT_PC
     10     lhu     a0, 2(rPC)                  # a0 <- field ref BBBB
     11     srl     a3, rINST, 8                # a3 <- AA
     12     GET_VREG a1, a3                     # a1 <- fp[AA]
     13     ld      a2, OFF_FP_METHOD(rFP)
     14     move    a3, rSELF
     15     PREFETCH_INST 2                     # Get next inst, but don't advance rPC
     16     jal     $helper
     17     bnezc   v0, MterpException          # 0 on success
     18     ADVANCE 2                           # Past exception point - now advance rPC
     19     GET_INST_OPCODE v0                  # extract opcode from rINST
     20     GOTO_OPCODE v0                      # jump to next instruction
     21