File tree 1 file changed +6
-10
lines changed 1 file changed +6
-10
lines changed Original file line number Diff line number Diff line change @@ -3444,16 +3444,12 @@ static zend_always_inline int _zend_update_type_info(
3444
3444
} else if (ssa_op -> op1_use >= 0 && !ssa -> var_info [ssa_op -> op1_use ].is_instanceof ) {
3445
3445
ce = ssa -> var_info [ssa_op -> op1_use ].ce ;
3446
3446
}
3447
- if (prop_info ) {
3448
- /* FETCH_OBJ_R/IS for plain property increments reference counter,
3449
- so it can't be 1 */
3450
- if (ce && !ce -> create_object && !result_may_be_separated (ssa , ssa_op )) {
3451
- tmp &= ~MAY_BE_RC1 ;
3452
- }
3453
- } else {
3454
- if (ce && !ce -> create_object && !ce -> __get && !result_may_be_separated (ssa , ssa_op )) {
3455
- tmp &= ~MAY_BE_RC1 ;
3456
- }
3447
+ /* Unset properties will resort back to __get/__set */
3448
+ if (ce
3449
+ && !ce -> create_object
3450
+ && !ce -> __get
3451
+ && !result_may_be_separated (ssa , ssa_op )) {
3452
+ tmp &= ~MAY_BE_RC1 ;
3457
3453
}
3458
3454
if (opline -> opcode == ZEND_FETCH_OBJ_IS ) {
3459
3455
/* IS check may return null for uninitialized typed property. */
You can’t perform that action at this time.
0 commit comments