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