]> granicus.if.org Git - php/commitdiff
REFERENCE is always REFCOUNTED
authorDmitry Stogov <dmitry@zend.com>
Thu, 13 Mar 2014 18:07:37 +0000 (22:07 +0400)
committerDmitry Stogov <dmitry@zend.com>
Thu, 13 Mar 2014 18:07:37 +0000 (22:07 +0400)
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index 286820990388dfddb30cae6abca155ec98c0e70e..7a157575b9bcdfb41f876ecbb98274cf0beb9f91 100644 (file)
@@ -3775,9 +3775,7 @@ ZEND_VM_HANDLER(72, ZEND_ADD_ARRAY_ELEMENT, CONST|TMP|VAR|CV, CONST|TMP|VAR|UNUS
                        zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
                }
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
-               if (Z_REFCOUNTED_P(expr_ptr)) {
-                       Z_ADDREF_P(expr_ptr);
-               }
+               Z_ADDREF_P(expr_ptr);
        } else {
                expr_ptr = GET_OP1_ZVAL_PTR_DEREF(BP_VAR_R);
                if (IS_OP1_TMP_FREE()) { /* temporary variable */
index 6b8b7ec4a42581999594b038aeecf78faa31110c..5bd68abc13dee5423c2b739d819090cf09779582 100644 (file)
@@ -3998,9 +3998,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_CONST_CONST_HANDLER(ZEND_O
                        zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
                }
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
-               if (Z_REFCOUNTED_P(expr_ptr)) {
-                       Z_ADDREF_P(expr_ptr);
-               }
+               Z_ADDREF_P(expr_ptr);
        } else {
                expr_ptr = opline->op1.zv;
                if (0) { /* temporary variable */
@@ -4855,9 +4853,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_CONST_TMP_HANDLER(ZEND_OPC
                        zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
                }
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
-               if (Z_REFCOUNTED_P(expr_ptr)) {
-                       Z_ADDREF_P(expr_ptr);
-               }
+               Z_ADDREF_P(expr_ptr);
        } else {
                expr_ptr = opline->op1.zv;
                if (0) { /* temporary variable */
@@ -5666,9 +5662,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_CONST_VAR_HANDLER(ZEND_OPC
                        zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
                }
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
-               if (Z_REFCOUNTED_P(expr_ptr)) {
-                       Z_ADDREF_P(expr_ptr);
-               }
+               Z_ADDREF_P(expr_ptr);
        } else {
                expr_ptr = opline->op1.zv;
                if (0) { /* temporary variable */
@@ -6343,9 +6337,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_CONST_UNUSED_HANDLER(ZEND_
                        zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
                }
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
-               if (Z_REFCOUNTED_P(expr_ptr)) {
-                       Z_ADDREF_P(expr_ptr);
-               }
+               Z_ADDREF_P(expr_ptr);
        } else {
                expr_ptr = opline->op1.zv;
                if (0) { /* temporary variable */
@@ -7243,9 +7235,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_CONST_CV_HANDLER(ZEND_OPCO
                        zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
                }
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
-               if (Z_REFCOUNTED_P(expr_ptr)) {
-                       Z_ADDREF_P(expr_ptr);
-               }
+               Z_ADDREF_P(expr_ptr);
        } else {
                expr_ptr = opline->op1.zv;
                if (0) { /* temporary variable */
@@ -9067,9 +9057,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_TMP_CONST_HANDLER(ZEND_OPC
                        zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
                }
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
-               if (Z_REFCOUNTED_P(expr_ptr)) {
-                       Z_ADDREF_P(expr_ptr);
-               }
+               Z_ADDREF_P(expr_ptr);
        } else {
                expr_ptr = _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
                if (1) { /* temporary variable */
@@ -9901,9 +9889,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_TMP_TMP_HANDLER(ZEND_OPCOD
                        zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
                }
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
-               if (Z_REFCOUNTED_P(expr_ptr)) {
-                       Z_ADDREF_P(expr_ptr);
-               }
+               Z_ADDREF_P(expr_ptr);
        } else {
                expr_ptr = _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
                if (1) { /* temporary variable */
@@ -10722,9 +10708,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_TMP_VAR_HANDLER(ZEND_OPCOD
                        zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
                }
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
-               if (Z_REFCOUNTED_P(expr_ptr)) {
-                       Z_ADDREF_P(expr_ptr);
-               }
+               Z_ADDREF_P(expr_ptr);
        } else {
                expr_ptr = _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
                if (1) { /* temporary variable */
@@ -11288,9 +11272,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_TMP_UNUSED_HANDLER(ZEND_OP
                        zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
                }
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
-               if (Z_REFCOUNTED_P(expr_ptr)) {
-                       Z_ADDREF_P(expr_ptr);
-               }
+               Z_ADDREF_P(expr_ptr);
        } else {
                expr_ptr = _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
                if (1) { /* temporary variable */
@@ -12119,9 +12101,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_TMP_CV_HANDLER(ZEND_OPCODE
                        zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
                }
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
-               if (Z_REFCOUNTED_P(expr_ptr)) {
-                       Z_ADDREF_P(expr_ptr);
-               }
+               Z_ADDREF_P(expr_ptr);
        } else {
                expr_ptr = _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
                if (1) { /* temporary variable */
@@ -15544,9 +15524,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_VAR_CONST_HANDLER(ZEND_OPC
                        zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
                }
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
-               if (Z_REFCOUNTED_P(expr_ptr)) {
-                       Z_ADDREF_P(expr_ptr);
-               }
+               Z_ADDREF_P(expr_ptr);
        } else {
                expr_ptr = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
                if (0) { /* temporary variable */
@@ -17786,9 +17764,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_VAR_TMP_HANDLER(ZEND_OPCOD
                        zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
                }
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
-               if (Z_REFCOUNTED_P(expr_ptr)) {
-                       Z_ADDREF_P(expr_ptr);
-               }
+               Z_ADDREF_P(expr_ptr);
        } else {
                expr_ptr = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
                if (0) { /* temporary variable */
@@ -20071,9 +20047,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_VAR_VAR_HANDLER(ZEND_OPCOD
                        zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
                }
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
-               if (Z_REFCOUNTED_P(expr_ptr)) {
-                       Z_ADDREF_P(expr_ptr);
-               }
+               Z_ADDREF_P(expr_ptr);
        } else {
                expr_ptr = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
                if (0) { /* temporary variable */
@@ -21490,9 +21464,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_VAR_UNUSED_HANDLER(ZEND_OP
                        zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
                }
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
-               if (Z_REFCOUNTED_P(expr_ptr)) {
-                       Z_ADDREF_P(expr_ptr);
-               }
+               Z_ADDREF_P(expr_ptr);
        } else {
                expr_ptr = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
                if (0) { /* temporary variable */
@@ -23502,9 +23474,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_VAR_CV_HANDLER(ZEND_OPCODE
                        zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
                }
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
-               if (Z_REFCOUNTED_P(expr_ptr)) {
-                       Z_ADDREF_P(expr_ptr);
-               }
+               Z_ADDREF_P(expr_ptr);
        } else {
                expr_ptr = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
                if (0) { /* temporary variable */
@@ -32668,9 +32638,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_CONST_HANDLER(ZEND_OPCO
                        zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
                }
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
-               if (Z_REFCOUNTED_P(expr_ptr)) {
-                       Z_ADDREF_P(expr_ptr);
-               }
+               Z_ADDREF_P(expr_ptr);
        } else {
                expr_ptr = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
                if (0) { /* temporary variable */
@@ -34785,9 +34753,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_TMP_HANDLER(ZEND_OPCODE
                        zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
                }
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
-               if (Z_REFCOUNTED_P(expr_ptr)) {
-                       Z_ADDREF_P(expr_ptr);
-               }
+               Z_ADDREF_P(expr_ptr);
        } else {
                expr_ptr = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
                if (0) { /* temporary variable */
@@ -36944,9 +36910,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_VAR_HANDLER(ZEND_OPCODE
                        zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
                }
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
-               if (Z_REFCOUNTED_P(expr_ptr)) {
-                       Z_ADDREF_P(expr_ptr);
-               }
+               Z_ADDREF_P(expr_ptr);
        } else {
                expr_ptr = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
                if (0) { /* temporary variable */
@@ -38243,9 +38207,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_UNUSED_HANDLER(ZEND_OPC
                        zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
                }
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
-               if (Z_REFCOUNTED_P(expr_ptr)) {
-                       Z_ADDREF_P(expr_ptr);
-               }
+               Z_ADDREF_P(expr_ptr);
        } else {
                expr_ptr = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
                if (0) { /* temporary variable */
@@ -40115,9 +40077,7 @@ static int ZEND_FASTCALL  ZEND_ADD_ARRAY_ELEMENT_SPEC_CV_CV_HANDLER(ZEND_OPCODE_
                        zend_error_noreturn(E_ERROR, "Cannot create references to/from string offsets");
                }
                SEPARATE_ZVAL_TO_MAKE_IS_REF(expr_ptr);
-               if (Z_REFCOUNTED_P(expr_ptr)) {
-                       Z_ADDREF_P(expr_ptr);
-               }
+               Z_ADDREF_P(expr_ptr);
        } else {
                expr_ptr = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
                if (0) { /* temporary variable */