diff options
author | Marcus Boerger <helly@php.net> | 2003-05-20 20:20:57 +0000 |
---|---|---|
committer | Marcus Boerger <helly@php.net> | 2003-05-20 20:20:57 +0000 |
commit | 851bd22f821cc384573fe812625ce4bc85f2892a (patch) | |
tree | b82c3ce1f81bc346eca3756d895f588d55a42c49 | |
parent | 3079bb1bda1d2b591e1775558a552c6b842bca6a (diff) | |
download | php-git-851bd22f821cc384573fe812625ce4bc85f2892a.tar.gz |
No need to copy the zval unless __clone() is called
-rw-r--r-- | Zend/zend_execute.c | 2 |
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; |