Skip to content

Commit a7a44f4

Browse files
committed
Fix zend_jit_leave_func
1 parent 54cd812 commit a7a44f4

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

ext/opcache/jit/zend_jit_ir.c

+6-1
Original file line numberDiff line numberDiff line change
@@ -11091,7 +11091,12 @@ static int zend_jit_leave_func(zend_jit_ctx *jit,
1109111091
} else if (GCC_GLOBAL_REGS) {
1109211092
ir_GUARD(jit_IP(jit), jit_STUB_ADDR(jit, jit_stub_trace_halt));
1109311093
} else {
11094-
ir_GUARD(ir_LT(ref, ir_CONST_I32(0)), jit_STUB_ADDR(jit, jit_stub_trace_halt));
11094+
#ifdef ZEND_HIGH_HALF_KERNEL
11095+
ir_GUARD(ir_AND_A(ref, ir_CONST_ADDR(~ZEND_VM_ENTER_BIT)), jit_STUB_ADDR(jit, jit_stub_trace_halt));
11096+
#else
11097+
ir_GUARD(ir_EQ_A(ref, ir_CONST_ADDR(ZEND_VM_RETURN_VAL)), jit_STUB_ADDR(jit, jit_stub_trace_halt));
11098+
#endif
11099+
jit_STORE_IP(jit, ref);
1109511100
}
1109611101
}
1109711102

0 commit comments

Comments
 (0)