summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2003-05-20 20:20:57 +0000
committerMarcus Boerger <helly@php.net>2003-05-20 20:20:57 +0000
commit851bd22f821cc384573fe812625ce4bc85f2892a (patch)
treeb82c3ce1f81bc346eca3756d895f588d55a42c49
parent3079bb1bda1d2b591e1775558a552c6b842bca6a (diff)
downloadphp-git-851bd22f821cc384573fe812625ce4bc85f2892a.tar.gz
No need to copy the zval unless __clone() is called
-rw-r--r--Zend/zend_execute.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index f3779e3918..1f4e8130f2 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -2422,7 +2422,7 @@ int zend_init_ctor_call_handler(ZEND_OPCODE_HANDLER_ARGS)
/* We are not handling overloaded classes right now */
EX(object) = get_zval_ptr(&EX(opline)->op1, EX(Ts), &EG(free_op1), BP_VAR_R);
- if (!PZVAL_IS_REF(EX(object))) {
+ if (!PZVAL_IS_REF(EX(object)) || !EG(implicit_clone)) {
EX(object)->refcount++; /* For $this pointer */
} else {
zval *this_ptr;