1    /*
2     * Return a 32-bit value.
3     *
4     * for: return, return-object
5     */
6    /* op vAA */
7    .extern MterpThreadFenceForConstructor
8    JAL(MterpThreadFenceForConstructor)
9    lw        ra, THREAD_FLAGS_OFFSET(rSELF)
10    move      a0, rSELF
11    and       ra, (THREAD_SUSPEND_REQUEST | THREAD_CHECKPOINT_REQUEST)
12    beqz      ra, 1f
13    JAL(MterpSuspendCheck)                 # (self)
141:
15    GET_OPA(a2)                            #  a2 <- AA
16    GET_VREG(v0, a2)                       #  v0 <- vAA
17    move      v1, zero
18    b         MterpReturn
19