Commit 00ff93d660d for php.net

commit 00ff93d660dfc8de81d0a81d0e1eb143e6a197f6
Author: Dmitry Stogov <dmitry@php.net>
Date:   Mon Mar 16 21:57:40 2026 +0300

    Fix support for TAILCALL VM

diff --git a/ext/opcache/jit/zend_jit_ir.c b/ext/opcache/jit/zend_jit_ir.c
index 53de30fb80a..b76d7d2ee48 100644
--- a/ext/opcache/jit/zend_jit_ir.c
+++ b/ext/opcache/jit/zend_jit_ir.c
@@ -7978,13 +7978,13 @@ static int zend_jit_escape_if_undef(zend_jit_ctx *jit, int var, uint32_t flags,
 		(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);
-	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_1(IR_I32, ref, jit_FP(jit));
+		ir_TAILCALL_2(IR_ADDR, ref, jit_FP(jit), jit_IP(jit));
 	}

 	ir_IF_TRUE(if_def);