Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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)

AltStyle によって変換されたページ (->オリジナル) /