summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-02-27 23:25:41 +0400
committerDmitry Stogov <dmitry@zend.com>2014-02-27 23:25:41 +0400
commit10fd93343ed9bbdd48fe84205dba8b4b82af0ecb (patch)
tree9f5d0ab785a06d86b3a43f1b6ec87a00e2ab36cd
parente43d0d1717fb713ccce7b971f7b9114d2bd16507 (diff)
downloadphp-git-10fd93343ed9bbdd48fe84205dba8b4b82af0ecb.tar.gz
Fixed reference counting
-rw-r--r--Zend/zend_vm_def.h4
-rw-r--r--Zend/zend_vm_execute.h48
2 files changed, 26 insertions, 26 deletions
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
index 7fd005fa8d..ad73af9685 100644
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@ -643,7 +643,7 @@ ZEND_VM_HELPER_EX(zend_pre_incdec_property_helper, VAR|UNUSED|CV, CONST|TMP|VAR|
}
z = value;
}
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
SEPARATE_ZVAL_IF_NOT_REF(z);
incdec_op(z);
ZVAL_COPY_VALUE(retval, z);
@@ -744,7 +744,7 @@ ZEND_VM_HELPER_EX(zend_post_incdec_property_helper, VAR|UNUSED|CV, CONST|TMP|VAR
ZVAL_DUP(retval, z);
ZVAL_DUP(&z_copy, z);
incdec_op(&z_copy);
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
Z_OBJ_HT_P(object)->write_property(object, property, &z_copy, ((OP2_TYPE == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
zval_ptr_dtor(&z_copy);
zval_ptr_dtor(z);
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
index ed8a19f9cf..8d7feea025 100644
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@ -14180,7 +14180,7 @@ static int ZEND_FASTCALL zend_pre_incdec_property_helper_SPEC_VAR_CONST(incdec_t
}
z = value;
}
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
SEPARATE_ZVAL_IF_NOT_REF(z);
incdec_op(z);
ZVAL_COPY_VALUE(retval, z);
@@ -14281,7 +14281,7 @@ static int ZEND_FASTCALL zend_post_incdec_property_helper_SPEC_VAR_CONST(incdec_
ZVAL_DUP(retval, z);
ZVAL_DUP(&z_copy, z);
incdec_op(&z_copy);
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
Z_OBJ_HT_P(object)->write_property(object, property, &z_copy, ((IS_CONST == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
zval_ptr_dtor(&z_copy);
zval_ptr_dtor(z);
@@ -16616,7 +16616,7 @@ static int ZEND_FASTCALL zend_pre_incdec_property_helper_SPEC_VAR_TMP(incdec_t i
}
z = value;
}
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
SEPARATE_ZVAL_IF_NOT_REF(z);
incdec_op(z);
ZVAL_COPY_VALUE(retval, z);
@@ -16717,7 +16717,7 @@ static int ZEND_FASTCALL zend_post_incdec_property_helper_SPEC_VAR_TMP(incdec_t
ZVAL_DUP(retval, z);
ZVAL_DUP(&z_copy, z);
incdec_op(&z_copy);
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
Z_OBJ_HT_P(object)->write_property(object, property, &z_copy, ((IS_TMP_VAR == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
zval_ptr_dtor(&z_copy);
zval_ptr_dtor(z);
@@ -18627,7 +18627,7 @@ static int ZEND_FASTCALL zend_pre_incdec_property_helper_SPEC_VAR_VAR(incdec_t i
}
z = value;
}
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
SEPARATE_ZVAL_IF_NOT_REF(z);
incdec_op(z);
ZVAL_COPY_VALUE(retval, z);
@@ -18728,7 +18728,7 @@ static int ZEND_FASTCALL zend_post_incdec_property_helper_SPEC_VAR_VAR(incdec_t
ZVAL_DUP(retval, z);
ZVAL_DUP(&z_copy, z);
incdec_op(&z_copy);
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
Z_OBJ_HT_P(object)->write_property(object, property, &z_copy, ((IS_VAR == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
zval_ptr_dtor(&z_copy);
zval_ptr_dtor(z);
@@ -22152,7 +22152,7 @@ static int ZEND_FASTCALL zend_pre_incdec_property_helper_SPEC_VAR_CV(incdec_t in
}
z = value;
}
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
SEPARATE_ZVAL_IF_NOT_REF(z);
incdec_op(z);
ZVAL_COPY_VALUE(retval, z);
@@ -22253,7 +22253,7 @@ static int ZEND_FASTCALL zend_post_incdec_property_helper_SPEC_VAR_CV(incdec_t i
ZVAL_DUP(retval, z);
ZVAL_DUP(&z_copy, z);
incdec_op(&z_copy);
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
Z_OBJ_HT_P(object)->write_property(object, property, &z_copy, ((IS_CV == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
zval_ptr_dtor(&z_copy);
zval_ptr_dtor(z);
@@ -24020,7 +24020,7 @@ static int ZEND_FASTCALL zend_pre_incdec_property_helper_SPEC_UNUSED_CONST(incde
}
z = value;
}
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
SEPARATE_ZVAL_IF_NOT_REF(z);
incdec_op(z);
ZVAL_COPY_VALUE(retval, z);
@@ -24121,7 +24121,7 @@ static int ZEND_FASTCALL zend_post_incdec_property_helper_SPEC_UNUSED_CONST(incd
ZVAL_DUP(retval, z);
ZVAL_DUP(&z_copy, z);
incdec_op(&z_copy);
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
Z_OBJ_HT_P(object)->write_property(object, property, &z_copy, ((IS_CONST == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
zval_ptr_dtor(&z_copy);
zval_ptr_dtor(z);
@@ -25378,7 +25378,7 @@ static int ZEND_FASTCALL zend_pre_incdec_property_helper_SPEC_UNUSED_TMP(incdec_
}
z = value;
}
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
SEPARATE_ZVAL_IF_NOT_REF(z);
incdec_op(z);
ZVAL_COPY_VALUE(retval, z);
@@ -25479,7 +25479,7 @@ static int ZEND_FASTCALL zend_post_incdec_property_helper_SPEC_UNUSED_TMP(incdec
ZVAL_DUP(retval, z);
ZVAL_DUP(&z_copy, z);
incdec_op(&z_copy);
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
Z_OBJ_HT_P(object)->write_property(object, property, &z_copy, ((IS_TMP_VAR == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
zval_ptr_dtor(&z_copy);
zval_ptr_dtor(z);
@@ -26652,7 +26652,7 @@ static int ZEND_FASTCALL zend_pre_incdec_property_helper_SPEC_UNUSED_VAR(incdec_
}
z = value;
}
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
SEPARATE_ZVAL_IF_NOT_REF(z);
incdec_op(z);
ZVAL_COPY_VALUE(retval, z);
@@ -26753,7 +26753,7 @@ static int ZEND_FASTCALL zend_post_incdec_property_helper_SPEC_UNUSED_VAR(incdec
ZVAL_DUP(retval, z);
ZVAL_DUP(&z_copy, z);
incdec_op(&z_copy);
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
Z_OBJ_HT_P(object)->write_property(object, property, &z_copy, ((IS_VAR == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
zval_ptr_dtor(&z_copy);
zval_ptr_dtor(z);
@@ -28328,7 +28328,7 @@ static int ZEND_FASTCALL zend_pre_incdec_property_helper_SPEC_UNUSED_CV(incdec_t
}
z = value;
}
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
SEPARATE_ZVAL_IF_NOT_REF(z);
incdec_op(z);
ZVAL_COPY_VALUE(retval, z);
@@ -28429,7 +28429,7 @@ static int ZEND_FASTCALL zend_post_incdec_property_helper_SPEC_UNUSED_CV(incdec_
ZVAL_DUP(retval, z);
ZVAL_DUP(&z_copy, z);
incdec_op(&z_copy);
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
Z_OBJ_HT_P(object)->write_property(object, property, &z_copy, ((IS_CV == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
zval_ptr_dtor(&z_copy);
zval_ptr_dtor(z);
@@ -31079,7 +31079,7 @@ static int ZEND_FASTCALL zend_pre_incdec_property_helper_SPEC_CV_CONST(incdec_t
}
z = value;
}
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
SEPARATE_ZVAL_IF_NOT_REF(z);
incdec_op(z);
ZVAL_COPY_VALUE(retval, z);
@@ -31180,7 +31180,7 @@ static int ZEND_FASTCALL zend_post_incdec_property_helper_SPEC_CV_CONST(incdec_t
ZVAL_DUP(retval, z);
ZVAL_DUP(&z_copy, z);
incdec_op(&z_copy);
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
Z_OBJ_HT_P(object)->write_property(object, property, &z_copy, ((IS_CONST == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
zval_ptr_dtor(&z_copy);
zval_ptr_dtor(z);
@@ -33297,7 +33297,7 @@ static int ZEND_FASTCALL zend_pre_incdec_property_helper_SPEC_CV_TMP(incdec_t in
}
z = value;
}
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
SEPARATE_ZVAL_IF_NOT_REF(z);
incdec_op(z);
ZVAL_COPY_VALUE(retval, z);
@@ -33398,7 +33398,7 @@ static int ZEND_FASTCALL zend_post_incdec_property_helper_SPEC_CV_TMP(incdec_t i
ZVAL_DUP(retval, z);
ZVAL_DUP(&z_copy, z);
incdec_op(&z_copy);
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
Z_OBJ_HT_P(object)->write_property(object, property, &z_copy, ((IS_TMP_VAR == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
zval_ptr_dtor(&z_copy);
zval_ptr_dtor(z);
@@ -35183,7 +35183,7 @@ static int ZEND_FASTCALL zend_pre_incdec_property_helper_SPEC_CV_VAR(incdec_t in
}
z = value;
}
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
SEPARATE_ZVAL_IF_NOT_REF(z);
incdec_op(z);
ZVAL_COPY_VALUE(retval, z);
@@ -35284,7 +35284,7 @@ static int ZEND_FASTCALL zend_post_incdec_property_helper_SPEC_CV_VAR(incdec_t i
ZVAL_DUP(retval, z);
ZVAL_DUP(&z_copy, z);
incdec_op(&z_copy);
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
Z_OBJ_HT_P(object)->write_property(object, property, &z_copy, ((IS_VAR == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
zval_ptr_dtor(&z_copy);
zval_ptr_dtor(z);
@@ -38452,7 +38452,7 @@ static int ZEND_FASTCALL zend_pre_incdec_property_helper_SPEC_CV_CV(incdec_t inc
}
z = value;
}
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
SEPARATE_ZVAL_IF_NOT_REF(z);
incdec_op(z);
ZVAL_COPY_VALUE(retval, z);
@@ -38553,7 +38553,7 @@ static int ZEND_FASTCALL zend_post_incdec_property_helper_SPEC_CV_CV(incdec_t in
ZVAL_DUP(retval, z);
ZVAL_DUP(&z_copy, z);
incdec_op(&z_copy);
- Z_ADDREF_P(z);
+ if (Z_REFCOUNTED_P(z)) Z_ADDREF_P(z);
Z_OBJ_HT_P(object)->write_property(object, property, &z_copy, ((IS_CV == IS_CONST) ? opline->op2.literal : NULL) TSRMLS_CC);
zval_ptr_dtor(&z_copy);
zval_ptr_dtor(z);