mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
Generate inline frameless icall handlers only if the optimization level is set to inline
This commit is contained in:
@@ -2547,6 +2547,23 @@ static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op
|
||||
goto jit_failure;
|
||||
}
|
||||
goto done;
|
||||
case ZEND_FRAMELESS_ICALL_0:
|
||||
jit_frameless_icall0(jit, opline);
|
||||
goto done;
|
||||
case ZEND_FRAMELESS_ICALL_1:
|
||||
op1_info = OP1_INFO();
|
||||
jit_frameless_icall1(jit, opline, op1_info);
|
||||
goto done;
|
||||
case ZEND_FRAMELESS_ICALL_2:
|
||||
op1_info = OP1_INFO();
|
||||
op2_info = OP2_INFO();
|
||||
jit_frameless_icall2(jit, opline, op1_info, op2_info);
|
||||
goto done;
|
||||
case ZEND_FRAMELESS_ICALL_3:
|
||||
op1_info = OP1_INFO();
|
||||
op2_info = OP2_INFO();
|
||||
jit_frameless_icall3(jit, opline, op1_info, op2_info, OP1_DATA_INFO());
|
||||
goto done;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -2693,23 +2710,6 @@ static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op
|
||||
call_level--;
|
||||
}
|
||||
break;
|
||||
case ZEND_FRAMELESS_ICALL_0:
|
||||
jit_frameless_icall0(jit, opline);
|
||||
goto done;
|
||||
case ZEND_FRAMELESS_ICALL_1:
|
||||
op1_info = OP1_INFO();
|
||||
jit_frameless_icall1(jit, opline, op1_info);
|
||||
goto done;
|
||||
case ZEND_FRAMELESS_ICALL_2:
|
||||
op1_info = OP1_INFO();
|
||||
op2_info = OP2_INFO();
|
||||
jit_frameless_icall2(jit, opline, op1_info, op2_info);
|
||||
goto done;
|
||||
case ZEND_FRAMELESS_ICALL_3:
|
||||
op1_info = OP1_INFO();
|
||||
op2_info = OP2_INFO();
|
||||
jit_frameless_icall3(jit, opline, op1_info, op2_info, OP1_DATA_INFO());
|
||||
goto done;
|
||||
default:
|
||||
if (!zend_jit_handler(&ctx, opline,
|
||||
zend_may_throw(opline, ssa_op, op_array, ssa))) {
|
||||
|
||||
Reference in New Issue
Block a user