Home | History | Annotate | Download | only in mips64
      1 %default {"instr":"GET_VREG"}
      2     /*
      3      * Return a 32-bit value.
      4      *
      5      * for: return (sign-extend), return-object (zero-extend)
      6      */
      7     /* op vAA */
      8     .extern MterpThreadFenceForConstructor
      9     .extern MterpSuspendCheck
     10     jal     MterpThreadFenceForConstructor
     11     lw      ra, THREAD_FLAGS_OFFSET(rSELF)
     12     move    a0, rSELF
     13     and     ra, ra, THREAD_SUSPEND_OR_CHECKPOINT_REQUEST
     14     beqzc   ra, 1f
     15     jal     MterpSuspendCheck           # (self)
     16 1:
     17     srl     a2, rINST, 8                # a2 <- AA
     18     $instr  a0, a2                      # a0 <- vAA
     19     b       MterpReturn
     20