diff options
author | Dmitry Stogov <dmitry@zend.com> | 2014-05-29 18:21:56 +0400 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2014-05-29 18:21:56 +0400 |
commit | b3b616cf7ee0702aca2f6fdb022dc7e28e015a22 (patch) | |
tree | 933686808b06b0408b0207f6fa2afe9111b866f9 /Zend/zend_constants.c | |
parent | bfff679d903c7ef1648d3d009f42566baa7d6232 (diff) | |
download | php-git-b3b616cf7ee0702aca2f6fdb022dc7e28e015a22.tar.gz |
Introduced immutable arrays. They don't need to be copyed and may be used directly from SHM.
Diffstat (limited to 'Zend/zend_constants.c')
-rw-r--r-- | Zend/zend_constants.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c index 4f2cedb9af..4930d1fdd4 100644 --- a/Zend/zend_constants.c +++ b/Zend/zend_constants.c @@ -32,7 +32,9 @@ void free_zend_constant(zval *zv) zend_constant *c = Z_PTR_P(zv); if (!(c->flags & CONST_PERSISTENT)) { - zval_dtor(&c->value); + if (Z_REFCOUNTED(c->value) || Z_IMMUTABLE(c->value)) { + _zval_dtor_func(Z_COUNTED(c->value) ZEND_FILE_LINE_CC); + } } else { zval_internal_dtor(&c->value); } |