blob: b10c03f0727694e95de76fb8ca6c16837ba253e8 [file] [log] [blame]
%default {"instr":"GET_VREG"}
/*
* Return a 32-bit value.
*
* for: return (sign-extend), return-object (zero-extend)
*/
/* op vAA */
.extern MterpThreadFenceForConstructor
.extern MterpSuspendCheck
jal MterpThreadFenceForConstructor
lw ra, THREAD_FLAGS_OFFSET(rSELF)
move a0, rSELF
and ra, ra, (THREAD_SUSPEND_REQUEST | THREAD_CHECKPOINT_REQUEST)
beqzc ra, 1f
jal MterpSuspendCheck # (self)
1:
srl a2, rINST, 8 # a2 <- AA
$instr a0, a2 # a0 <- vAA
b MterpReturn