diff options
author | Dmitry Stogov <dmitry@zend.com> | 2014-05-30 11:12:24 +0400 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2014-05-30 11:12:24 +0400 |
commit | 984c8f87d2ca3840c3d3551713e1eff15aedd712 (patch) | |
tree | d1ee48386882716261a9dda3a17d974186312757 | |
parent | 45d7ab1a4c323c50bc5007cf826540e62693db8c (diff) | |
download | php-git-984c8f87d2ca3840c3d3551713e1eff15aedd712.tar.gz |
Avoid useless duplication of immutable arrays
-rw-r--r-- | Zend/zend_execute.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 37539d6ffe..0cfd8f456c 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -729,8 +729,10 @@ static inline void zend_assign_to_object(zval *retval, zval *object_ptr, zval *p ZVAL_COPY_VALUE(&tmp, value); value = &tmp; } else if (value_type == IS_CONST) { - ZVAL_DUP(&tmp, value); - value = &tmp; + if (UNEXPECTED(Z_OPT_COPYABLE_P(value))) { + ZVAL_DUP(&tmp, value); + value = &tmp; + } } else if (Z_REFCOUNTED_P(value)) { Z_ADDREF_P(value); } |