1 /* 2 * Return a 32-bit value. 3 * 4 * for: return, return-object 5 */ 6 /* op vAA */ 7 .extern MterpThreadFenceForConstructor 8 bl MterpThreadFenceForConstructor 9 ldr w7, [xSELF, #THREAD_FLAGS_OFFSET] 10 mov x0, xSELF 11 ands w7, w7, #(THREAD_SUSPEND_REQUEST | THREAD_CHECKPOINT_REQUEST) 12 b.ne .L${opcode}_check 13.L${opcode}_return: 14 lsr w2, wINST, #8 // r2<- AA 15 GET_VREG w0, w2 // r0<- vAA 16 b MterpReturn 17.L${opcode}_check: 18 bl MterpSuspendCheck // (self) 19 b .L${opcode}_return 20