File tree Expand file tree Collapse file tree 1 file changed +2
-6
lines changed Expand file tree Collapse file tree 1 file changed +2
-6
lines changed Original file line number Diff line number Diff line change @@ -1793,7 +1793,7 @@ static uint32_t get_ssa_alias_types(zend_ssa_alias_kind alias) {
1793
1793
1794
1794
#define COPY_SSA_OBJ_TYPE (from_var , to_var ) do { \
1795
1795
if ((from_var) >= 0 && (ssa_var_info[(from_var)].type & MAY_BE_OBJECT) \
1796
- && ssa_var_info[(from_var)].ce) { \
1796
+ && ssa_var_info[(from_var)].ce && !(ssa_var_info[(to_var)].type & MAY_BE_REF) ) { \
1797
1797
UPDATE_SSA_OBJ_TYPE(ssa_var_info[(from_var)].ce, \
1798
1798
ssa_var_info[(from_var)].is_instanceof, (to_var)); \
1799
1799
} else { \
@@ -2783,11 +2783,7 @@ static zend_always_inline int _zend_update_type_info(
2783
2783
tmp |= MAY_BE_DOUBLE ;
2784
2784
}
2785
2785
UPDATE_SSA_TYPE (tmp , ssa_op -> op1_def );
2786
- if (tmp & MAY_BE_REF ) {
2787
- UPDATE_SSA_OBJ_TYPE (NULL , 0 , ssa_op -> op1_def );
2788
- } else {
2789
- COPY_SSA_OBJ_TYPE (ssa_op -> op2_use , ssa_op -> op1_def );
2790
- }
2786
+ COPY_SSA_OBJ_TYPE (ssa_op -> op2_use , ssa_op -> op1_def );
2791
2787
}
2792
2788
if (ssa_op -> result_def >= 0 ) {
2793
2789
if (tmp & MAY_BE_REF ) {
You can’t perform that action at this time.
0 commit comments