]> granicus.if.org Git - php/commitdiff
Remove unused recv_arg_info from func_info
authorNikita Popov <nikita.ppv@gmail.com>
Thu, 30 Jul 2020 15:04:56 +0000 (17:04 +0200)
committerNikita Popov <nikita.ppv@gmail.com>
Thu, 30 Jul 2020 15:04:56 +0000 (17:04 +0200)
ext/opcache/Optimizer/zend_call_graph.h
ext/opcache/Optimizer/zend_dump.c
ext/opcache/Optimizer/zend_inference.c

index c31d8cef03b16549a483f78b9bdddd8f0eeebc6c..5c50134c6d59c5ffbce00a7c59c45e797d873929 100644 (file)
@@ -27,11 +27,6 @@ typedef struct _zend_send_arg_info {
        zend_op                *opline;
 } zend_send_arg_info;
 
-typedef struct _zend_recv_arg_info {
-       int                     ssa_var;
-       zend_ssa_var_info       info;
-} zend_recv_arg_info;
-
 struct _zend_call_info {
        zend_op_array          *caller_op_array;
        zend_op                *caller_init_opline;
@@ -55,7 +50,6 @@ struct _zend_func_info {
        zend_call_info        **call_map;     /* Call info associated with init/call/send opnum */
        int                     num_args;     /* (-1 - unknown) */
        int                     return_value_used; /* -1 unknown, 0 no, 1 yes */
-       zend_recv_arg_info     *arg_info;
        zend_ssa_var_info       return_info;
 };
 
index b9c77cda63544c177a05698d07dbaa1da19ef1c6..57e283d1f375a61fdbdf0f3b6367e7c57dd5115f 100644 (file)
@@ -969,17 +969,6 @@ void zend_dump_op_array(const zend_op_array *op_array, uint32_t dump_flags, cons
        }
        fprintf(stderr, "     ; %s:%u-%u\n", op_array->filename->val, op_array->line_start, op_array->line_end);
 
-       if (func_info && func_info->num_args > 0) {
-               uint32_t j;
-
-               for (j = 0; j < MIN(op_array->num_args, func_info->num_args ); j++) {
-                       fprintf(stderr, "     ; arg %d ", j);
-                       zend_dump_type_info(func_info->arg_info[j].info.type, func_info->arg_info[j].info.ce, func_info->arg_info[j].info.is_instanceof, dump_flags);
-                       zend_dump_range(&func_info->arg_info[j].info.range);
-                       fprintf(stderr, "\n");
-               }
-       }
-
        if (func_info) {
                fprintf(stderr, "     ; return ");
                zend_dump_type_info(func_info->return_info.type, func_info->return_info.ce, func_info->return_info.is_instanceof, dump_flags);
index f5059104de855f95650b67394a08667943016256..669c88cc7a3f51d6d552ad7c64d591e903f87153 100644 (file)
@@ -1398,14 +1398,7 @@ int zend_inference_calc_range(const zend_op_array *op_array, zend_ssa *ssa, int
                case ZEND_RECV:
                case ZEND_RECV_INIT:
                        if (ssa_op->result_def == var) {
-                               zend_func_info *func_info = ZEND_FUNC_INFO(op_array);
-
-                               if (func_info &&
-                                   (int)opline->op1.num-1 < func_info->num_args &&
-                                   func_info->arg_info[opline->op1.num-1].info.has_range) {
-                                       *tmp = func_info->arg_info[opline->op1.num-1].info.range;
-                                       return 1;
-                               } else if (op_array->arg_info &&
+                               if (op_array->arg_info &&
                                    opline->op1.num <= op_array->num_args) {
                                        zend_type type = op_array->arg_info[opline->op1.num-1].type;
                                        uint32_t mask = ZEND_TYPE_PURE_MASK_WITHOUT_NULL(type);
@@ -3005,7 +2998,6 @@ static zend_always_inline int _zend_update_type_info(
                case ZEND_RECV_INIT:
                {
                        /* Typehinting */
-                       zend_func_info *func_info;
                        zend_arg_info *arg_info = &op_array->arg_info[opline->op1.num-1];
 
                        ce = NULL;
@@ -3014,21 +3006,8 @@ static zend_always_inline int _zend_update_type_info(
                                tmp |= MAY_BE_REF;
                        }
 
-                       func_info = ZEND_FUNC_INFO(op_array);
-                       if (func_info && (int)opline->op1.num-1 < func_info->num_args) {
-                               tmp = (tmp & (MAY_BE_RC1|MAY_BE_RCN|MAY_BE_REF)) |
-                                       (tmp & func_info->arg_info[opline->op1.num-1].info.type);
-                       }
-
                        UPDATE_SSA_TYPE(tmp, ssa_op->result_def);
-                       if (func_info &&
-                           (int)opline->op1.num-1 < func_info->num_args &&
-                           func_info->arg_info[opline->op1.num-1].info.ce) {
-                               UPDATE_SSA_OBJ_TYPE(
-                                       func_info->arg_info[opline->op1.num-1].info.ce,
-                                       func_info->arg_info[opline->op1.num-1].info.is_instanceof,
-                                       ssa_op->result_def);
-                       } else if (ce) {
+                       if (ce) {
                                UPDATE_SSA_OBJ_TYPE(ce, 1, ssa_op->result_def);
                        } else {
                                UPDATE_SSA_OBJ_TYPE(NULL, 0, ssa_op->result_def);