Commit 0dae1e7f52e for php.net
commit 0dae1e7f52e332fcdeb41652eaef4329558814ef
Merge: c4aa851a6a3 05afc37effb
Author: Ilia Alshanetsky <ilia@ilia.ws>
Date: Wed May 13 09:29:32 2026 -0400
Merge branch 'PHP-8.4' into PHP-8.5
# Conflicts:
# ext/opcache/jit/zend_jit_ir.c
diff --cc ext/opcache/jit/zend_jit_ir.c
index fc62d883bd3,f99605ee420..7d25b0a68ed
--- a/ext/opcache/jit/zend_jit_ir.c
+++ b/ext/opcache/jit/zend_jit_ir.c
@@@ -7979,14 -8096,12 +7979,12 @@@ static int zend_jit_escape_if_undef(zen
zend_jit_op_array_trace_extension *jit_extension =
(zend_jit_op_array_trace_extension*)ZEND_FUNC_INFO(op_array);
size_t offset = jit_extension->offset;
- ir_ref ref = ir_CONST_ADDR(ZEND_OP_TRACE_INFO((opline - 1), offset)->orig_handler);
+ ir_ref ref = ir_CONST_FC_FUNC(ZEND_OP_TRACE_INFO((opline - 1), offset)->orig_handler);
- if (GCC_GLOBAL_REGS) {
- ir_TAILCALL(IR_VOID, ref);
+ if (GCC_GLOBAL_REGS || ZEND_VM_KIND == ZEND_VM_KIND_TAILCALL) {
+ ir_TAILCALL(IR_OPCODE_HANDLER_RET, ref);
} else {
- #if defined(IR_TARGET_X86)
- ref = ir_CAST_FC_FUNC(ref);
- #endif
- ir_TAILCALL_2(IR_ADDR, ref, jit_FP(jit), jit_IP(jit));
- ir_CALL_1(IR_I32, ref, jit_FP(jit));
- ir_RETURN(ir_CONST_I32(1));
++ ir_ref opline_ref = ir_CALL_2(IR_OPCODE_HANDLER_RET, ref, jit_FP(jit), jit_IP(jit));
++ zend_jit_vm_enter(jit, opline_ref);
}
ir_IF_TRUE(if_def);