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