Skip to content

Commit 787d57b

Browse files
committed
Support for ir_TAILCALL() prototype changes
1 parent c0f6719 commit 787d57b

File tree

1 file changed

+22
-22
lines changed

1 file changed

+22
-22
lines changed

ext/opcache/jit/zend_jit_ir.c

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1844,12 +1844,12 @@ static int zend_jit_exception_handler_stub(zend_jit_ctx *jit)
18441844
handler = zend_get_opcode_handler_func(EG(exception_op));
18451845

18461846
ir_CALL(IR_VOID, ir_CONST_FUNC(handler));
1847-
ir_TAILCALL(ir_LOAD_A(jit_IP(jit)));
1847+
ir_TAILCALL(IR_VOID, ir_LOAD_A(jit_IP(jit)));
18481848
} else {
18491849
handler = EG(exception_op)->handler;
18501850

18511851
if (GCC_GLOBAL_REGS) {
1852-
ir_TAILCALL(ir_CONST_FUNC(handler));
1852+
ir_TAILCALL(IR_VOID, ir_CONST_FUNC(handler));
18531853
} else {
18541854
ir_ref ref, if_negative;
18551855

@@ -1959,7 +1959,7 @@ static int zend_jit_interrupt_handler_stub(zend_jit_ctx *jit)
19591959
}
19601960

19611961
if (GCC_GLOBAL_REGS) {
1962-
ir_TAILCALL(ir_LOAD_A(jit_IP(jit)));
1962+
ir_TAILCALL(IR_VOID, ir_LOAD_A(jit_IP(jit)));
19631963
} else {
19641964
ir_RETURN(ir_CONST_I32(1));
19651965
}
@@ -1977,22 +1977,22 @@ static int zend_jit_leave_function_handler_stub(zend_jit_ctx *jit)
19771977
ir_CALL_1(IR_VOID, ir_CONST_FC_FUNC(zend_jit_leave_nested_func_helper), call_info);
19781978
jit_STORE_IP(jit,
19791979
ir_LOAD_A(jit_EX(opline)));
1980-
ir_TAILCALL(ir_LOAD_A(jit_IP(jit)));
1980+
ir_TAILCALL(IR_VOID, ir_LOAD_A(jit_IP(jit)));
19811981
} else if (GCC_GLOBAL_REGS) {
1982-
ir_TAILCALL_1(ir_CONST_FC_FUNC(zend_jit_leave_nested_func_helper), call_info);
1982+
ir_TAILCALL_1(IR_VOID, ir_CONST_FC_FUNC(zend_jit_leave_nested_func_helper), call_info);
19831983
} else {
1984-
ir_TAILCALL_2(ir_CONST_FC_FUNC(zend_jit_leave_nested_func_helper), call_info, jit_FP(jit));
1984+
ir_TAILCALL_2(IR_I32, ir_CONST_FC_FUNC(zend_jit_leave_nested_func_helper), call_info, jit_FP(jit));
19851985
}
19861986

19871987
ir_IF_TRUE(if_top);
19881988

19891989
if (zend_jit_vm_kind == ZEND_VM_KIND_HYBRID) {
19901990
ir_CALL_1(IR_VOID, ir_CONST_FC_FUNC(zend_jit_leave_top_func_helper), call_info);
1991-
ir_TAILCALL(ir_LOAD_A(jit_IP(jit)));
1991+
ir_TAILCALL(IR_VOID, ir_LOAD_A(jit_IP(jit)));
19921992
} else if (GCC_GLOBAL_REGS) {
1993-
ir_TAILCALL_1(ir_CONST_FC_FUNC(zend_jit_leave_top_func_helper), call_info);
1993+
ir_TAILCALL_1(IR_VOID, ir_CONST_FC_FUNC(zend_jit_leave_top_func_helper), call_info);
19941994
} else {
1995-
ir_TAILCALL_2(ir_CONST_FC_FUNC(zend_jit_leave_top_func_helper), call_info, jit_FP(jit));
1995+
ir_TAILCALL_2(IR_I32, ir_CONST_FC_FUNC(zend_jit_leave_top_func_helper), call_info, jit_FP(jit));
19961996
}
19971997

19981998
return 1;
@@ -2342,7 +2342,7 @@ static int zend_jit_hybrid_loop_trace_counter_stub(zend_jit_ctx *jit)
23422342
static int zend_jit_trace_halt_stub(zend_jit_ctx *jit)
23432343
{
23442344
if (zend_jit_vm_kind == ZEND_VM_KIND_HYBRID) {
2345-
ir_TAILCALL(ir_CONST_FC_FUNC(zend_jit_halt_op->handler));
2345+
ir_TAILCALL(IR_VOID, ir_CONST_FC_FUNC(zend_jit_halt_op->handler));
23462346
} else if (GCC_GLOBAL_REGS) {
23472347
jit_STORE_IP(jit, IR_NULL);
23482348
ir_RETURN(IR_VOID);
@@ -2355,7 +2355,7 @@ static int zend_jit_trace_halt_stub(zend_jit_ctx *jit)
23552355
static int zend_jit_trace_escape_stub(zend_jit_ctx *jit)
23562356
{
23572357
if (GCC_GLOBAL_REGS) {
2358-
ir_TAILCALL(ir_LOAD_A(jit_IP(jit)));
2358+
ir_TAILCALL(IR_VOID, ir_LOAD_A(jit_IP(jit)));
23592359
} else {
23602360
ir_RETURN(ir_CONST_I32(1)); // ZEND_VM_ENTER
23612361
}
@@ -2383,7 +2383,7 @@ static int zend_jit_trace_exit_stub(zend_jit_ctx *jit)
23832383
jit_STORE_FP(jit, ir_LOAD_A(ref));
23842384
ref = ir_LOAD_A(jit_EX(opline));
23852385
jit_STORE_IP(jit, ref);
2386-
ir_TAILCALL(ir_LOAD_A(jit_IP(jit)));
2386+
ir_TAILCALL(IR_VOID, ir_LOAD_A(jit_IP(jit)));
23872387
} else {
23882388
ir_RETURN(ir_CONST_I32(1)); // ZEND_VM_ENTER
23892389
}
@@ -2407,7 +2407,7 @@ static int zend_jit_trace_exit_stub(zend_jit_ctx *jit)
24072407

24082408
addr = zend_jit_orig_opline_handler(jit);
24092409
if (GCC_GLOBAL_REGS) {
2410-
ir_TAILCALL(addr);
2410+
ir_TAILCALL(IR_VOID, addr);
24112411
} else {
24122412
#if defined(IR_TARGET_X86)
24132413
addr = ir_CAST_FC_FUNC(addr);
@@ -4012,20 +4012,20 @@ static int zend_jit_tail_handler(zend_jit_ctx *jit, const zend_op *opline)
40124012

40134013
/* Use inlined HYBRID VM handler */
40144014
handler = opline->handler;
4015-
ir_TAILCALL(ir_CONST_FUNC(handler));
4015+
ir_TAILCALL(IR_VOID, ir_CONST_FUNC(handler));
40164016
} else {
40174017
handler = zend_get_opcode_handler_func(opline);
40184018
ir_CALL(IR_VOID, ir_CONST_FUNC(handler));
40194019
ref = ir_LOAD_A(jit_IP(jit));
4020-
ir_TAILCALL(ref);
4020+
ir_TAILCALL(IR_VOID, ref);
40214021
}
40224022
} else {
40234023
handler = opline->handler;
40244024
if (GCC_GLOBAL_REGS) {
4025-
ir_TAILCALL(ir_CONST_FUNC(handler));
4025+
ir_TAILCALL(IR_VOID, ir_CONST_FUNC(handler));
40264026
} else {
40274027
ref = jit_FP(jit);
4028-
ir_TAILCALL_1(ir_CONST_FC_FUNC(handler), ref);
4028+
ir_TAILCALL_1(IR_I32, ir_CONST_FC_FUNC(handler), ref);
40294029
}
40304030
}
40314031
if (jit->b >= 0) {
@@ -9845,7 +9845,7 @@ static int zend_jit_do_fcall(zend_jit_ctx *jit, const zend_op *opline, const zen
98459845
}
98469846
/* fallback to indirect JMP or RETURN */
98479847
if (GCC_GLOBAL_REGS) {
9848-
ir_TAILCALL(ir_LOAD_A(jit_IP(jit)));
9848+
ir_TAILCALL(IR_VOID, ir_LOAD_A(jit_IP(jit)));
98499849
} else {
98509850
ir_RETURN(ir_CONST_I32(1));
98519851
}
@@ -10598,7 +10598,7 @@ static int zend_jit_leave_func(zend_jit_ctx *jit,
1059810598
ir_IF_FALSE(if_eq);
1059910599

1060010600
#ifdef ZEND_VM_HYBRID_JIT_RED_ZONE_SIZE
10601-
ir_TAILCALL(ir_LOAD_A(jit_IP(jit)));
10601+
ir_TAILCALL(IR_VOID, ir_LOAD_A(jit_IP(jit)));
1060210602
#else
1060310603
ir_IJMP(jit_STUB_ADDR(jit, jit_stub_trace_escape));
1060410604
#endif
@@ -10634,7 +10634,7 @@ static int zend_jit_leave_func(zend_jit_ctx *jit,
1063410634
}
1063510635

1063610636
if (GCC_GLOBAL_REGS) {
10637-
ir_TAILCALL(ir_LOAD_A(jit_IP(jit)));
10637+
ir_TAILCALL(IR_VOID, ir_LOAD_A(jit_IP(jit)));
1063810638
} else {
1063910639
ir_RETURN(ir_CONST_I32(2)); // ZEND_VM_LEAVE
1064010640
}
@@ -16244,9 +16244,9 @@ static int zend_jit_trace_return(zend_jit_ctx *jit, bool original_handler, const
1624416244
{
1624516245
if (GCC_GLOBAL_REGS) {
1624616246
if (!original_handler) {
16247-
ir_TAILCALL(ir_LOAD_A(jit_IP(jit)));
16247+
ir_TAILCALL(IR_VOID, ir_LOAD_A(jit_IP(jit)));
1624816248
} else {
16249-
ir_TAILCALL(zend_jit_orig_opline_handler(jit));
16249+
ir_TAILCALL(IR_VOID, zend_jit_orig_opline_handler(jit));
1625016250
}
1625116251
} else {
1625216252
if (original_handler) {

0 commit comments

Comments
 (0)