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 @@ -1787,7 +1787,7 @@ static uint32_t get_ssa_alias_types(zend_ssa_alias_kind alias) {
1787
1787
1788
1788
#define COPY_SSA_OBJ_TYPE (from_var , to_var ) do { \
1789
1789
if ((from_var) >= 0 && (ssa_var_info[(from_var)].type & MAY_BE_OBJECT) \
1790
- && ssa_var_info[(from_var)].ce) { \
1790
+ && ssa_var_info[(from_var)].ce && !(ssa_var_info[(to_var)].type & MAY_BE_REF) ) { \
1791
1791
UPDATE_SSA_OBJ_TYPE(ssa_var_info[(from_var)].ce, \
1792
1792
ssa_var_info[(from_var)].is_instanceof, (to_var)); \
1793
1793
} else { \
@@ -2809,11 +2809,7 @@ static zend_always_inline zend_result _zend_update_type_info(
2809
2809
tmp |= MAY_BE_DOUBLE ;
2810
2810
}
2811
2811
UPDATE_SSA_TYPE (tmp , ssa_op -> op1_def );
2812
- if (tmp & MAY_BE_REF ) {
2813
- UPDATE_SSA_OBJ_TYPE (NULL , 0 , ssa_op -> op1_def );
2814
- } else {
2815
- COPY_SSA_OBJ_TYPE (ssa_op -> op2_use , ssa_op -> op1_def );
2816
- }
2812
+ COPY_SSA_OBJ_TYPE (ssa_op -> op2_use , ssa_op -> op1_def );
2817
2813
}
2818
2814
if (ssa_op -> result_def >= 0 ) {
2819
2815
if (tmp & MAY_BE_REF ) {
You can’t perform that action at this time.
0 commit comments