com php-src: Micro optimization: Zend/zend_execute.c
| From: | Dmitry Stogov | Date: | Mon, 17 Nov 2014 05:36:14 +0000 |
| Subject: | com php-src: Micro optimization: Zend/zend_execute.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-83109@lists.php.net to get a copy of this message | ||
Commit: 54fa42475120f3ab61f50732fa2d68c3af07f259
Author: Dmitry Stogov <dmitry@zend.com> Mon, 17 Nov 2014 08:36:14 +0300
Parents: 9e3ebd3a0d9919d75f526e2cef9bf35de8b4847f
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=54fa42475120f3ab61f50732fa2d68c3af07f259
Log:
Micro optimization
Changed paths:
M Zend/zend_execute.c
Diff:
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 1551789..8a8cbbf 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -456,15 +456,15 @@ static zend_always_inline zval *_get_zval_ptr_ptr_var(uint32_t var, const
zend_e
if (EXPECTED(Z_TYPE_P(ret) == IS_INDIRECT)) {
should_free->var = NULL;
- return Z_INDIRECT_P(ret);
- } else if (!Z_REFCOUNTED_P(ret) || Z_REFCOUNT_P(ret) == 1) {
- should_free->var = ret;
- return ret;
+ ret = Z_INDIRECT_P(ret);
} else {
- Z_DELREF_P(ret);
- should_free->var = NULL;
- return ret;
+ should_free->var = ret;
+ if (Z_REFCOUNTED_P(ret) && Z_REFCOUNT_P(ret) > 1) {
+ should_free->var = NULL;
+ Z_DELREF_P(ret);
+ }
}
+ return ret;
}
static inline zval *_get_zval_ptr_ptr(int op_type, const znode_op *node, const zend_execute_data
*execute_data, zend_free_op *should_free, int type TSRMLS_DC)