]> granicus.if.org Git - php/commitdiff
Initialize variable numbers
authorDmitry Stogov <dmitry@zend.com>
Mon, 30 Mar 2020 09:50:19 +0000 (12:50 +0300)
committerDmitry Stogov <dmitry@zend.com>
Mon, 30 Mar 2020 09:50:19 +0000 (12:50 +0300)
ext/opcache/jit/zend_jit_trace.c

index 2386a6bcf27c6ce824760e658b6952e358fdf4e2..d2fe33b63fbf6d540bd3fcd085f106ea49fbbdde 100644 (file)
@@ -1490,6 +1490,7 @@ static zend_ssa *zend_jit_trace_build_tssa(zend_jit_trace_rec *trace_buffer, uin
                        i = 0;
                        v = p->first_ssa_var;
                        while (i < op_array->last_var) {
+                               ssa_vars[v].var = i;
                                if (!ssa->var_info
                                 || !zend_jit_trace_copy_ssa_var_info(op_array, ssa, ssa_opcodes, tssa, v)) {
                                        if (i < op_array->num_args) {
@@ -1529,6 +1530,7 @@ static zend_ssa *zend_jit_trace_build_tssa(zend_jit_trace_rec *trace_buffer, uin
                                i = 0;
                                v = p->first_ssa_var;
                                while (i < op_array->last_var) {
+                                       ssa_vars[v].var = i;
                                        if (!ssa->var_info
                                         || !zend_jit_trace_copy_ssa_var_info(op_array, ssa, ssa_opcodes, tssa, v)) {
                                                ssa_var_info[v].type = MAY_BE_UNDEF | MAY_BE_RC1 | MAY_BE_RCN | MAY_BE_REF | MAY_BE_ANY  | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF;
@@ -1537,6 +1539,7 @@ static zend_ssa *zend_jit_trace_build_tssa(zend_jit_trace_rec *trace_buffer, uin
                                        v++;
                                }
                                while (i < op_array->last_var + op_array->T) {
+                                       ssa_vars[v].var = i;
                                        if (!ssa->var_info
                                         || !zend_jit_trace_copy_ssa_var_info(op_array, ssa, ssa_opcodes, tssa, v)) {
                                                ssa_var_info[v].type = MAY_BE_RC1 | MAY_BE_RCN | MAY_BE_REF | MAY_BE_ANY  | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_ANY | MAY_BE_ARRAY_OF_REF;