From 984c8f87d2ca3840c3d3551713e1eff15aedd712 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Fri, 30 May 2014 11:12:24 +0400 Subject: [PATCH] Avoid useless duplication of immutable arrays --- Zend/zend_execute.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 37539d6ffec..0cfd8f456c0 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); }