1
0
mirror of https://github.com/php/php-src.git synced 2026-04-13 19:14:16 +02:00

Fixed tracing JIT support for extract()

This commit is contained in:
Dmitry Stogov
2020-07-09 15:36:25 +03:00
parent af1de14802
commit 6d8d08f13b

View File

@@ -1261,7 +1261,8 @@ static zend_ssa *zend_jit_trace_build_tssa(zend_jit_trace_rec *trace_buffer, uin
} else {
ssa_var_info[i].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;
}
} else if (op_array->function_name) {
} else if (op_array->function_name
&& !zend_jit_var_may_be_modified_indirectly(op_array, ssa, i)) {
ssa_vars[i].no_val = ssa->vars ? ssa->vars[i].no_val : 0;
ssa_var_info[i].type = MAY_BE_UNDEF;
} else {
@@ -1722,7 +1723,8 @@ propagate_arg:
} else {
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;
}
} else if (op_array->function_name) {
} else if (op_array->function_name
&& !zend_jit_var_may_be_modified_indirectly(op_array, ssa, i)) {
ssa_vars[v].no_val = ssa->vars ? ssa->vars[i].no_val : 0;
ssa_var_info[v].type = MAY_BE_UNDEF;
} else {