Skip to content

Commit ce22cf5

Browse files
committed
Remove some dead code in RECV type inference
We must always have arg_info corresponding to RECV.
1 parent 28eaad0 commit ce22cf5

File tree

1 file changed

+6
-22
lines changed

1 file changed

+6
-22
lines changed

ext/opcache/Optimizer/zend_inference.c

Lines changed: 6 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3006,36 +3006,20 @@ static zend_always_inline int _zend_update_type_info(
30063006
{
30073007
/* Typehinting */
30083008
zend_func_info *func_info;
3009-
zend_arg_info *arg_info = NULL;
3010-
if (op_array->arg_info && opline->op1.num <= op_array->num_args) {
3011-
arg_info = &op_array->arg_info[opline->op1.num-1];
3012-
}
3009+
zend_arg_info *arg_info = &op_array->arg_info[opline->op1.num-1];
30133010

30143011
ce = NULL;
3015-
if (arg_info) {
3016-
tmp = zend_fetch_arg_info_type(script, arg_info, &ce);
3017-
if (ZEND_ARG_SEND_MODE(arg_info)) {
3018-
tmp |= MAY_BE_REF;
3019-
}
3020-
} else {
3021-
tmp = MAY_BE_REF|MAY_BE_RC1|MAY_BE_RCN|MAY_BE_ANY|MAY_BE_ARRAY_KEY_ANY|MAY_BE_ARRAY_OF_ANY|MAY_BE_ARRAY_OF_REF;
3012+
tmp = zend_fetch_arg_info_type(script, arg_info, &ce);
3013+
if (ZEND_ARG_SEND_MODE(arg_info)) {
3014+
tmp |= MAY_BE_REF;
30223015
}
3016+
30233017
func_info = ZEND_FUNC_INFO(op_array);
30243018
if (func_info && (int)opline->op1.num-1 < func_info->num_args) {
30253019
tmp = (tmp & (MAY_BE_RC1|MAY_BE_RCN|MAY_BE_REF)) |
30263020
(tmp & func_info->arg_info[opline->op1.num-1].info.type);
30273021
}
3028-
#if 0
3029-
/* We won't receive unused arguments */
3030-
if (ssa_vars[ssa_op->result_def].use_chain < 0 &&
3031-
ssa_vars[ssa_op->result_def].phi_use_chain == NULL &&
3032-
op_array->arg_info &&
3033-
opline->op1.num <= op_array->num_args &&
3034-
op_array->arg_info[opline->op1.num-1].class_name == NULL &&
3035-
!op_array->arg_info[opline->op1.num-1].type_hint) {
3036-
tmp = MAY_BE_UNDEF|MAY_BE_RCN;
3037-
}
3038-
#endif
3022+
30393023
UPDATE_SSA_TYPE(tmp, ssa_op->result_def);
30403024
if (func_info &&
30413025
(int)opline->op1.num-1 < func_info->num_args &&

0 commit comments

Comments
 (0)