]> granicus.if.org Git - php/commitdiff
Fixed reference handling
authorDmitry Stogov <dmitry@zend.com>
Wed, 11 Jun 2014 23:14:57 +0000 (03:14 +0400)
committerDmitry Stogov <dmitry@zend.com>
Wed, 11 Jun 2014 23:14:57 +0000 (03:14 +0400)
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index 86fcb44c3461e4908d353209827983698bdd406b..def0c490c6050662c7db3093144113c732e90350 100644 (file)
@@ -456,11 +456,8 @@ ZEND_VM_HELPER_EX(zend_binary_assign_op_dim_helper, VAR|UNUSED|CV, CONST|TMP|VAR
                ZEND_VM_C_GOTO(assign_op_dim_exit);
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -511,11 +508,8 @@ ZEND_VM_HELPER_EX(zend_binary_assign_op_helper, VAR|UNUSED|CV, CONST|TMP|VAR|UNU
                ZEND_VM_C_GOTO(assign_op_exit);
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -893,11 +887,8 @@ ZEND_VM_HANDLER(34, ZEND_PRE_INC, VAR|CV, ANY)
                ZEND_VM_NEXT_OPCODE();
        }
 
-       if (UNEXPECTED(Z_ISREF_P(var_ptr))) {
-               var_ptr = Z_REFVAL_P(var_ptr);
-       } else {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT)
           && Z_OBJ_HANDLER_P(var_ptr, get)
@@ -951,11 +942,8 @@ ZEND_VM_HANDLER(35, ZEND_PRE_DEC, VAR|CV, ANY)
                ZEND_VM_NEXT_OPCODE();
        }
 
-       if (UNEXPECTED(Z_ISREF_P(var_ptr))) {
-               var_ptr = Z_REFVAL_P(var_ptr);
-       } else {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT)
           && Z_OBJ_HANDLER_P(var_ptr, get)
index 7961f10adfbd9d858bea9e14a066071e2ac4c99d..fa61d27bd8d0e3bfdfa7202b59dc4a8b963edbce 100644 (file)
@@ -12515,11 +12515,8 @@ static int ZEND_FASTCALL  ZEND_PRE_INC_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS
                ZEND_VM_NEXT_OPCODE();
        }
 
-       if (UNEXPECTED(Z_ISREF_P(var_ptr))) {
-               var_ptr = Z_REFVAL_P(var_ptr);
-       } else {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT)
           && Z_OBJ_HANDLER_P(var_ptr, get)
@@ -12573,11 +12570,8 @@ static int ZEND_FASTCALL  ZEND_PRE_DEC_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS
                ZEND_VM_NEXT_OPCODE();
        }
 
-       if (UNEXPECTED(Z_ISREF_P(var_ptr))) {
-               var_ptr = Z_REFVAL_P(var_ptr);
-       } else {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT)
           && Z_OBJ_HANDLER_P(var_ptr, get)
@@ -14336,11 +14330,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_dim_helper_SPEC_VAR_CONST(int (*b
                goto assign_op_dim_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -14391,11 +14382,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_helper_SPEC_VAR_CONST(int (*binar
                goto assign_op_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -16717,11 +16705,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_dim_helper_SPEC_VAR_TMP(int (*bin
                goto assign_op_dim_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -16772,11 +16757,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_helper_SPEC_VAR_TMP(int (*binary_
                goto assign_op_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -18709,11 +18691,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_dim_helper_SPEC_VAR_VAR(int (*bin
                goto assign_op_dim_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -18764,11 +18743,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_helper_SPEC_VAR_VAR(int (*binary_
                goto assign_op_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -20788,11 +20764,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_dim_helper_SPEC_VAR_UNUSED(int (*
                goto assign_op_dim_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -20843,11 +20816,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_helper_SPEC_VAR_UNUSED(int (*bina
                goto assign_op_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -22249,11 +22219,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_dim_helper_SPEC_VAR_CV(int (*bina
                goto assign_op_dim_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -22304,11 +22271,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_helper_SPEC_VAR_CV(int (*binary_o
                goto assign_op_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -24097,11 +24061,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_dim_helper_SPEC_UNUSED_CONST(int
                goto assign_op_dim_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -24152,11 +24113,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_helper_SPEC_UNUSED_CONST(int (*bi
                goto assign_op_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -25470,11 +25428,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_dim_helper_SPEC_UNUSED_TMP(int (*
                goto assign_op_dim_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -25525,11 +25480,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_helper_SPEC_UNUSED_TMP(int (*bina
                goto assign_op_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -26757,11 +26709,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_dim_helper_SPEC_UNUSED_VAR(int (*
                goto assign_op_dim_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -26812,11 +26761,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_helper_SPEC_UNUSED_VAR(int (*bina
                goto assign_op_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -28043,11 +27989,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_dim_helper_SPEC_UNUSED_UNUSED(int
                goto assign_op_dim_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -28098,11 +28041,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_helper_SPEC_UNUSED_UNUSED(int (*b
                goto assign_op_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -28565,11 +28505,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_dim_helper_SPEC_UNUSED_CV(int (*b
                goto assign_op_dim_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -28620,11 +28557,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_helper_SPEC_UNUSED_CV(int (*binar
                goto assign_op_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -29770,11 +29704,8 @@ static int ZEND_FASTCALL  ZEND_PRE_INC_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
                ZEND_VM_NEXT_OPCODE();
        }
 
-       if (UNEXPECTED(Z_ISREF_P(var_ptr))) {
-               var_ptr = Z_REFVAL_P(var_ptr);
-       } else {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT)
           && Z_OBJ_HANDLER_P(var_ptr, get)
@@ -29827,11 +29758,8 @@ static int ZEND_FASTCALL  ZEND_PRE_DEC_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
                ZEND_VM_NEXT_OPCODE();
        }
 
-       if (UNEXPECTED(Z_ISREF_P(var_ptr))) {
-               var_ptr = Z_REFVAL_P(var_ptr);
-       } else {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT)
           && Z_OBJ_HANDLER_P(var_ptr, get)
@@ -31406,11 +31334,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_dim_helper_SPEC_CV_CONST(int (*bi
                goto assign_op_dim_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -31461,11 +31386,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_helper_SPEC_CV_CONST(int (*binary
                goto assign_op_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -33601,11 +33523,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_dim_helper_SPEC_CV_TMP(int (*bina
                goto assign_op_dim_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -33656,11 +33575,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_helper_SPEC_CV_TMP(int (*binary_o
                goto assign_op_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -35476,11 +35392,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_dim_helper_SPEC_CV_VAR(int (*bina
                goto assign_op_dim_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -35531,11 +35444,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_helper_SPEC_CV_VAR(int (*binary_o
                goto assign_op_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -37437,11 +37347,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_dim_helper_SPEC_CV_UNUSED(int (*b
                goto assign_op_dim_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -37492,11 +37399,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_helper_SPEC_CV_UNUSED(int (*binar
                goto assign_op_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -38764,11 +38668,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_dim_helper_SPEC_CV_CV(int (*binar
                goto assign_op_dim_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {
@@ -38819,11 +38720,8 @@ static int ZEND_FASTCALL zend_binary_assign_op_helper_SPEC_CV_CV(int (*binary_op
                goto assign_op_exit;
        }
 
-       if (EXPECTED(!Z_ISREF_P(var_ptr))) {
-               SEPARATE_ZVAL_NOREF(var_ptr);
-       } else {
-               ZVAL_DEREF(var_ptr);
-       }
+       ZVAL_DEREF(var_ptr);
+       SEPARATE_ZVAL_NOREF(var_ptr);
 
        if (UNEXPECTED(Z_TYPE_P(var_ptr) == IS_OBJECT) &&
            UNEXPECTED(Z_OBJ_HANDLER_P(var_ptr, get) && Z_OBJ_HANDLER_P(var_ptr, set))) {