1
0
mirror of https://github.com/php/php-src.git synced 2026-04-03 14:12:38 +02:00

Merge branch 'PHP-8.0' into PHP-8.1

* PHP-8.0:
  Move MAY_BE_REF check into COPY_SSA_OBJ_TYPE
This commit is contained in:
Nikita Popov
2022-04-15 23:14:59 +02:00

View File

@@ -1793,7 +1793,7 @@ static uint32_t get_ssa_alias_types(zend_ssa_alias_kind alias) {
#define COPY_SSA_OBJ_TYPE(from_var, to_var) do { \
if ((from_var) >= 0 && (ssa_var_info[(from_var)].type & MAY_BE_OBJECT) \
&& ssa_var_info[(from_var)].ce) { \
&& ssa_var_info[(from_var)].ce && !(ssa_var_info[(to_var)].type & MAY_BE_REF)) { \
UPDATE_SSA_OBJ_TYPE(ssa_var_info[(from_var)].ce, \
ssa_var_info[(from_var)].is_instanceof, (to_var)); \
} else { \
@@ -2783,11 +2783,7 @@ static zend_always_inline int _zend_update_type_info(
tmp |= MAY_BE_DOUBLE;
}
UPDATE_SSA_TYPE(tmp, ssa_op->op1_def);
if (tmp & MAY_BE_REF) {
UPDATE_SSA_OBJ_TYPE(NULL, 0, ssa_op->op1_def);
} else {
COPY_SSA_OBJ_TYPE(ssa_op->op2_use, ssa_op->op1_def);
}
COPY_SSA_OBJ_TYPE(ssa_op->op2_use, ssa_op->op1_def);
}
if (ssa_op->result_def >= 0) {
if (tmp & MAY_BE_REF) {