summaryrefslogtreecommitdiff
path: root/Zend/zend_vm_def.h
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-03-19 17:00:28 +0400
committerDmitry Stogov <dmitry@zend.com>2014-03-19 17:00:28 +0400
commitb7938ab1bd765897bd6f08a48a8aea494a961ea9 (patch)
tree22f8034d42dfac8f03b4bb6d6573e5a7f6361ac8 /Zend/zend_vm_def.h
parent2e3e96b24bb1c547362af53b952f823f451e6bce (diff)
downloadphp-git-b7938ab1bd765897bd6f08a48a8aea494a961ea9.tar.gz
Refactored GC (incomplete)
Diffstat (limited to 'Zend/zend_vm_def.h')
-rw-r--r--Zend/zend_vm_def.h12
1 files changed, 2 insertions, 10 deletions
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
index 14483a427f..8076ba6caa 100644
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@ -405,7 +405,6 @@ ZEND_VM_HELPER_EX(zend_binary_assign_op_obj_helper, VAR|UNUSED|CV, CONST|TMP|VAR
zval *value = Z_OBJ_HT_P(z)->get(z TSRMLS_CC);
if (Z_REFCOUNT_P(z) == 0) {
- GC_REMOVE_ZVAL_FROM_BUFFER(z);
zval_dtor(z);
}
z = value;
@@ -652,7 +651,6 @@ ZEND_VM_HELPER_EX(zend_pre_incdec_property_helper, VAR|UNUSED|CV, CONST|TMP|VAR|
zval *value = Z_OBJ_HT_P(z)->get(z TSRMLS_CC);
if (Z_REFCOUNT_P(z) == 0) {
- GC_REMOVE_ZVAL_FROM_BUFFER(z);
zval_dtor(z);
}
z = value;
@@ -750,7 +748,6 @@ ZEND_VM_HELPER_EX(zend_post_incdec_property_helper, VAR|UNUSED|CV, CONST|TMP|VAR
zval *value = Z_OBJ_HT_P(z)->get(z TSRMLS_CC);
if (Z_REFCOUNT_P(z) == 0) {
- GC_REMOVE_ZVAL_FROM_BUFFER(z);
zval_dtor(z);
}
z = value;
@@ -4368,16 +4365,11 @@ ZEND_VM_HANDLER(77, ZEND_FE_RESET, CONST|TMP|VAR|CV, ANY)
//??? dereference
if (Z_ISREF_P(array_ref)) {
if (Z_REFCOUNT_P(array_ref) == 1) {
- zend_reference *ref = Z_REF_P(array_ref);
- ZVAL_COPY(array_ref, &ref->val);
- efree(ref);
+ ZVAL_UNREF(array_ref);
array_ptr = array_ref;
- } else {
- Z_ADDREF_P(array_ref);
}
- } else {
- Z_ADDREF_P(array_ref);
}
+ Z_ADDREF_P(array_ref);
}
}
}