• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)
151:
16    srl     a2, rINST, 8                # a2 <- AA
17    GET_VREG_U a0, a2                   # a0 <- vAA
18    b       MterpReturn
19