]> granicus.if.org Git - php/commitdiff
Cleanup
authorDmitry Stogov <dmitry@zend.com>
Thu, 27 Mar 2014 10:55:52 +0000 (14:55 +0400)
committerDmitry Stogov <dmitry@zend.com>
Thu, 27 Mar 2014 10:55:52 +0000 (14:55 +0400)
Zend/zend.h
Zend/zend_API.c
Zend/zend_execute.c
Zend/zend_operators.h
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index 46bc2ff39ce35ae656f11f4f5cf4541051d97d9e..28c31a398704309e6afec4453fb90fd85321452f 100644 (file)
@@ -722,13 +722,10 @@ END_EXTERN_C()
                                if (Z_ISREF_P(_zv)) {                                   \
                                        Z_DELREF_P(_zv);                                        \
                                        ZVAL_DUP(_zv, Z_REFVAL_P(_zv));         \
-                               } else if (Z_TYPE_P(_zv) == IS_OBJECT ||\
-                                   Z_TYPE_P(_zv) == IS_RESOURCE) {             \
-                                       /*Z_ADDREF_P(_zv);*/                            \
-                               } else {                                                                \
+                               } else if (Z_TYPE_P(_zv) != IS_OBJECT &&\
+                                   Z_TYPE_P(_zv) != IS_RESOURCE) {             \
                                        Z_DELREF_P(_zv);                                        \
                                        zval_copy_ctor(_zv);                            \
-                                       Z_SET_REFCOUNT_P(_zv, 1);                       \
                                }                                                                               \
                        }                                                                                       \
                }                                                                                               \
index d3f48ea8bc6feae972be1065be02ef292b7a9d9a..63bcab7368f9664cc51492d9fb66931cfeec2725 100644 (file)
@@ -480,7 +480,7 @@ static const char *zend_parse_arg_impl(int arg_num, zval *arg, va_list *va, cons
                                        case IS_DOUBLE:
                                        case IS_BOOL:
                                                convert_to_string_ex(arg);
-                                               if (UNEXPECTED(Z_ISREF_P(arg) != 0)) {
+                                               if (UNEXPECTED(Z_ISREF_P(arg))) {
                                                        /* it's dangerous to return pointers to string
                                                           buffer of referenced variable, because it can
                                                           be clobbered throug magic callbacks */
@@ -525,7 +525,7 @@ static const char *zend_parse_arg_impl(int arg_num, zval *arg, va_list *va, cons
                                        case IS_DOUBLE:
                                        case IS_BOOL:
                                                convert_to_string_ex(arg);
-                                               if (UNEXPECTED(Z_ISREF_P(arg) != 0)) {
+                                               if (UNEXPECTED(Z_ISREF_P(arg))) {
                                                        /* it's dangerous to return pointers to string
                                                           buffer of referenced variable, because it can
                                                           be clobbered throug magic callbacks */
index 92f298e39fad16d3a5c5c3c8d9e5037b04753e57..666676ae09722ab991146d1e77ff94ea34006f53 100644 (file)
@@ -71,22 +71,22 @@ static zend_always_inline void zend_pzval_unlock_func(zval *z, zend_free_op *sho
                if (!Z_DELREF_P(z)) {
                        Z_SET_REFCOUNT_P(z, 1);
 //???                  Z_UNSET_ISREF_P(z);
-                       if (Z_ISREF_P(z)) {
+//???                  if (Z_ISREF_P(z)) {
 //???                          zend_reference *ref = Z_REF_P(z);
 //???                          ZVAL_COPY_VALUE(z, &ref->val);
 //???                          efree(ref);
-                       }
+//???                  }
                        should_free->var = z;
 /*             should_free->is_var = 1; */
-               } else {
-                       if (unref && Z_ISREF_P(z) && Z_REFCOUNT_P(z) == 1) {
+//???          } else {
+//???                  if (unref && Z_ISREF_P(z) && Z_REFCOUNT_P(z) == 1) {
 //???                  Z_UNSET_ISREF_P(z);
-                               if (Z_ISREF_P(z)) {
+//???                          if (Z_ISREF_P(z)) {
 //???                                  zend_reference *ref = Z_REF_P(z);
 //???                                  ZVAL_COPY_VALUE(z, &ref->val);
 //???                                  efree(ref);
-                               }
-                       }
+//???                          }
+//???                  }
                }
        }
 }
index a6640075fdd96fce3f480346ff02bf4fe3622fb4..052abf364c486aba4311fd57dbf07d03091a419a 100644 (file)
@@ -430,9 +430,7 @@ END_EXTERN_C()
 
 #define convert_scalar_to_number_ex(pzv)                                                       \
        if (Z_TYPE_P(pzv)!=IS_LONG && Z_TYPE_P(pzv)!=IS_DOUBLE) {               \
-               if (!Z_ISREF_P(pzv)) {                                                                          \
-                       SEPARATE_ZVAL(pzv);                                                                             \
-               }                                                                                                                       \
+               SEPARATE_ZVAL_IF_NOT_REF(pzv);                                                          \
                convert_scalar_to_number(pzv TSRMLS_CC);                                        \
        }
 
index 6025342e217b35324c7dbada9d360649dbe34760..f0d30d7e49d63a045f57ac23d54611e8043778be 100644 (file)
@@ -2464,13 +2464,6 @@ ZEND_VM_HANDLER(112, ZEND_INIT_METHOD_CALL, TMP|VAR|UNUSED|CV, CONST|TMP|VAR|CV)
 
        object = GET_OP1_OBJ_ZVAL_PTR_DEREF(BP_VAR_R);
        ZVAL_COPY_VALUE(&call->object, object);
-/*???
-       if (Z_ISREF_P(object)) {
-               ZVAL_COPY_VALUE(&call->object, Z_REFVAL_P(object));
-       } else {
-               ZVAL_COPY_VALUE(&call->object, object);
-       }
-*/
 
        if (EXPECTED(Z_TYPE(call->object) != IS_UNDEF) &&
            EXPECTED(Z_TYPE(call->object) == IS_OBJECT)) {
@@ -2759,12 +2752,7 @@ ZEND_VM_HANDLER(59, ZEND_INIT_FCALL_BY_NAME, ANY, CONST|TMP|VAR|CV)
                                if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) {
                                        ZVAL_UNDEF(&call->object);
                                } else {
-//???
-                                       if (!Z_ISREF(call->object)) {
-                                               Z_ADDREF(call->object); /* For $this pointer */
-                                       } else {
-                                               ZVAL_DUP(&call->object, Z_REFVAL(call->object));
-                                       }
+                                       Z_ADDREF(call->object); /* For $this pointer */
                                }
                        }
 
index 021b9244ad830d2e9cfbef5b8c2a90178b52a11f..85cf30504f67ed719fb810f3a834dbefd5e5714a 100644 (file)
@@ -1540,12 +1540,7 @@ static int ZEND_FASTCALL  ZEND_INIT_FCALL_BY_NAME_SPEC_CONST_HANDLER(ZEND_OPCODE
                                if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) {
                                        ZVAL_UNDEF(&call->object);
                                } else {
-//???
-                                       if (!Z_ISREF(call->object)) {
-                                               Z_ADDREF(call->object); /* For $this pointer */
-                                       } else {
-                                               ZVAL_DUP(&call->object, Z_REFVAL(call->object));
-                                       }
+                                       Z_ADDREF(call->object); /* For $this pointer */
                                }
                        }
 
@@ -1883,12 +1878,7 @@ static int ZEND_FASTCALL  ZEND_INIT_FCALL_BY_NAME_SPEC_TMP_HANDLER(ZEND_OPCODE_H
                                if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) {
                                        ZVAL_UNDEF(&call->object);
                                } else {
-//???
-                                       if (!Z_ISREF(call->object)) {
-                                               Z_ADDREF(call->object); /* For $this pointer */
-                                       } else {
-                                               ZVAL_DUP(&call->object, Z_REFVAL(call->object));
-                                       }
+                                       Z_ADDREF(call->object); /* For $this pointer */
                                }
                        }
 
@@ -2077,12 +2067,7 @@ static int ZEND_FASTCALL  ZEND_INIT_FCALL_BY_NAME_SPEC_VAR_HANDLER(ZEND_OPCODE_H
                                if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) {
                                        ZVAL_UNDEF(&call->object);
                                } else {
-//???
-                                       if (!Z_ISREF(call->object)) {
-                                               Z_ADDREF(call->object); /* For $this pointer */
-                                       } else {
-                                               ZVAL_DUP(&call->object, Z_REFVAL(call->object));
-                                       }
+                                       Z_ADDREF(call->object); /* For $this pointer */
                                }
                        }
 
@@ -2308,12 +2293,7 @@ static int ZEND_FASTCALL  ZEND_INIT_FCALL_BY_NAME_SPEC_CV_HANDLER(ZEND_OPCODE_HA
                                if ((call->fbc->common.fn_flags & ZEND_ACC_STATIC) != 0) {
                                        ZVAL_UNDEF(&call->object);
                                } else {
-//???
-                                       if (!Z_ISREF(call->object)) {
-                                               Z_ADDREF(call->object); /* For $this pointer */
-                                       } else {
-                                               ZVAL_DUP(&call->object, Z_REFVAL(call->object));
-                                       }
+                                       Z_ADDREF(call->object); /* For $this pointer */
                                }
                        }
 
@@ -8928,13 +8908,6 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_TMP_CONST_HANDLER(ZEND_OPCO
 
        object = _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
        ZVAL_COPY_VALUE(&call->object, object);
-/*???
-       if (Z_ISREF_P(object)) {
-               ZVAL_COPY_VALUE(&call->object, Z_REFVAL_P(object));
-       } else {
-               ZVAL_COPY_VALUE(&call->object, object);
-       }
-*/
 
        if (EXPECTED(Z_TYPE(call->object) != IS_UNDEF) &&
            EXPECTED(Z_TYPE(call->object) == IS_OBJECT)) {
@@ -9733,13 +9706,6 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_TMP_TMP_HANDLER(ZEND_OPCODE
 
        object = _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
        ZVAL_COPY_VALUE(&call->object, object);
-/*???
-       if (Z_ISREF_P(object)) {
-               ZVAL_COPY_VALUE(&call->object, Z_REFVAL_P(object));
-       } else {
-               ZVAL_COPY_VALUE(&call->object, object);
-       }
-*/
 
        if (EXPECTED(Z_TYPE(call->object) != IS_UNDEF) &&
            EXPECTED(Z_TYPE(call->object) == IS_OBJECT)) {
@@ -10572,13 +10538,6 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_TMP_VAR_HANDLER(ZEND_OPCODE
 
        object = _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
        ZVAL_COPY_VALUE(&call->object, object);
-/*???
-       if (Z_ISREF_P(object)) {
-               ZVAL_COPY_VALUE(&call->object, Z_REFVAL_P(object));
-       } else {
-               ZVAL_COPY_VALUE(&call->object, object);
-       }
-*/
 
        if (EXPECTED(Z_TYPE(call->object) != IS_UNDEF) &&
            EXPECTED(Z_TYPE(call->object) == IS_OBJECT)) {
@@ -11935,13 +11894,6 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_TMP_CV_HANDLER(ZEND_OPCODE_
 
        object = _get_zval_ptr_tmp(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
        ZVAL_COPY_VALUE(&call->object, object);
-/*???
-       if (Z_ISREF_P(object)) {
-               ZVAL_COPY_VALUE(&call->object, Z_REFVAL_P(object));
-       } else {
-               ZVAL_COPY_VALUE(&call->object, object);
-       }
-*/
 
        if (EXPECTED(Z_TYPE(call->object) != IS_UNDEF) &&
            EXPECTED(Z_TYPE(call->object) == IS_OBJECT)) {
@@ -15154,13 +15106,6 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_VAR_CONST_HANDLER(ZEND_OPCO
 
        object = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
        ZVAL_COPY_VALUE(&call->object, object);
-/*???
-       if (Z_ISREF_P(object)) {
-               ZVAL_COPY_VALUE(&call->object, Z_REFVAL_P(object));
-       } else {
-               ZVAL_COPY_VALUE(&call->object, object);
-       }
-*/
 
        if (EXPECTED(Z_TYPE(call->object) != IS_UNDEF) &&
            EXPECTED(Z_TYPE(call->object) == IS_OBJECT)) {
@@ -17446,13 +17391,6 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_VAR_TMP_HANDLER(ZEND_OPCODE
 
        object = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
        ZVAL_COPY_VALUE(&call->object, object);
-/*???
-       if (Z_ISREF_P(object)) {
-               ZVAL_COPY_VALUE(&call->object, Z_REFVAL_P(object));
-       } else {
-               ZVAL_COPY_VALUE(&call->object, object);
-       }
-*/
 
        if (EXPECTED(Z_TYPE(call->object) != IS_UNDEF) &&
            EXPECTED(Z_TYPE(call->object) == IS_OBJECT)) {
@@ -19739,13 +19677,6 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_VAR_VAR_HANDLER(ZEND_OPCODE
 
        object = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
        ZVAL_COPY_VALUE(&call->object, object);
-/*???
-       if (Z_ISREF_P(object)) {
-               ZVAL_COPY_VALUE(&call->object, Z_REFVAL_P(object));
-       } else {
-               ZVAL_COPY_VALUE(&call->object, object);
-       }
-*/
 
        if (EXPECTED(Z_TYPE(call->object) != IS_UNDEF) &&
            EXPECTED(Z_TYPE(call->object) == IS_OBJECT)) {
@@ -23120,13 +23051,6 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_VAR_CV_HANDLER(ZEND_OPCODE_
 
        object = _get_zval_ptr_var_deref(opline->op1.var, execute_data, &free_op1 TSRMLS_CC);
        ZVAL_COPY_VALUE(&call->object, object);
-/*???
-       if (Z_ISREF_P(object)) {
-               ZVAL_COPY_VALUE(&call->object, Z_REFVAL_P(object));
-       } else {
-               ZVAL_COPY_VALUE(&call->object, object);
-       }
-*/
 
        if (EXPECTED(Z_TYPE(call->object) != IS_UNDEF) &&
            EXPECTED(Z_TYPE(call->object) == IS_OBJECT)) {
@@ -24699,13 +24623,6 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_UNUSED_CONST_HANDLER(ZEND_O
 
        object = _get_obj_zval_ptr_unused(TSRMLS_C);
        ZVAL_COPY_VALUE(&call->object, object);
-/*???
-       if (Z_ISREF_P(object)) {
-               ZVAL_COPY_VALUE(&call->object, Z_REFVAL_P(object));
-       } else {
-               ZVAL_COPY_VALUE(&call->object, object);
-       }
-*/
 
        if (EXPECTED(Z_TYPE(call->object) != IS_UNDEF) &&
            EXPECTED(Z_TYPE(call->object) == IS_OBJECT)) {
@@ -26088,13 +26005,6 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_UNUSED_TMP_HANDLER(ZEND_OPC
 
        object = _get_obj_zval_ptr_unused(TSRMLS_C);
        ZVAL_COPY_VALUE(&call->object, object);
-/*???
-       if (Z_ISREF_P(object)) {
-               ZVAL_COPY_VALUE(&call->object, Z_REFVAL_P(object));
-       } else {
-               ZVAL_COPY_VALUE(&call->object, object);
-       }
-*/
 
        if (EXPECTED(Z_TYPE(call->object) != IS_UNDEF) &&
            EXPECTED(Z_TYPE(call->object) == IS_OBJECT)) {
@@ -27385,13 +27295,6 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_UNUSED_VAR_HANDLER(ZEND_OPC
 
        object = _get_obj_zval_ptr_unused(TSRMLS_C);
        ZVAL_COPY_VALUE(&call->object, object);
-/*???
-       if (Z_ISREF_P(object)) {
-               ZVAL_COPY_VALUE(&call->object, Z_REFVAL_P(object));
-       } else {
-               ZVAL_COPY_VALUE(&call->object, object);
-       }
-*/
 
        if (EXPECTED(Z_TYPE(call->object) != IS_UNDEF) &&
            EXPECTED(Z_TYPE(call->object) == IS_OBJECT)) {
@@ -29082,13 +28985,6 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_UNUSED_CV_HANDLER(ZEND_OPCO
 
        object = _get_obj_zval_ptr_unused(TSRMLS_C);
        ZVAL_COPY_VALUE(&call->object, object);
-/*???
-       if (Z_ISREF_P(object)) {
-               ZVAL_COPY_VALUE(&call->object, Z_REFVAL_P(object));
-       } else {
-               ZVAL_COPY_VALUE(&call->object, object);
-       }
-*/
 
        if (EXPECTED(Z_TYPE(call->object) != IS_UNDEF) &&
            EXPECTED(Z_TYPE(call->object) == IS_OBJECT)) {
@@ -32319,13 +32215,6 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_CV_CONST_HANDLER(ZEND_OPCOD
 
        object = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
        ZVAL_COPY_VALUE(&call->object, object);
-/*???
-       if (Z_ISREF_P(object)) {
-               ZVAL_COPY_VALUE(&call->object, Z_REFVAL_P(object));
-       } else {
-               ZVAL_COPY_VALUE(&call->object, object);
-       }
-*/
 
        if (EXPECTED(Z_TYPE(call->object) != IS_UNDEF) &&
            EXPECTED(Z_TYPE(call->object) == IS_OBJECT)) {
@@ -34393,13 +34282,6 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_
 
        object = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
        ZVAL_COPY_VALUE(&call->object, object);
-/*???
-       if (Z_ISREF_P(object)) {
-               ZVAL_COPY_VALUE(&call->object, Z_REFVAL_P(object));
-       } else {
-               ZVAL_COPY_VALUE(&call->object, object);
-       }
-*/
 
        if (EXPECTED(Z_TYPE(call->object) != IS_UNDEF) &&
            EXPECTED(Z_TYPE(call->object) == IS_OBJECT)) {
@@ -36560,13 +36442,6 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_
 
        object = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
        ZVAL_COPY_VALUE(&call->object, object);
-/*???
-       if (Z_ISREF_P(object)) {
-               ZVAL_COPY_VALUE(&call->object, Z_REFVAL_P(object));
-       } else {
-               ZVAL_COPY_VALUE(&call->object, object);
-       }
-*/
 
        if (EXPECTED(Z_TYPE(call->object) != IS_UNDEF) &&
            EXPECTED(Z_TYPE(call->object) == IS_OBJECT)) {
@@ -39681,13 +39556,6 @@ static int ZEND_FASTCALL  ZEND_INIT_METHOD_CALL_SPEC_CV_CV_HANDLER(ZEND_OPCODE_H
 
        object = _get_zval_ptr_cv_deref_BP_VAR_R(execute_data, opline->op1.var TSRMLS_CC);
        ZVAL_COPY_VALUE(&call->object, object);
-/*???
-       if (Z_ISREF_P(object)) {
-               ZVAL_COPY_VALUE(&call->object, Z_REFVAL_P(object));
-       } else {
-               ZVAL_COPY_VALUE(&call->object, object);
-       }
-*/
 
        if (EXPECTED(Z_TYPE(call->object) != IS_UNDEF) &&
            EXPECTED(Z_TYPE(call->object) == IS_OBJECT)) {