com php-src: Optimized for fast path: ext/standard/array.c

From: Date: Mon, 09 Jun 2014 20:15:44 +0000
Subject: com php-src: Optimized for fast path: ext/standard/array.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-78783@lists.php.net to get a copy of this message
Commit: 7c045c61f03abe38c0f07aab88c6715e8db04550 Author: Dmitry Stogov <dmitry@zend.com> Tue, 10 Jun 2014 00:15:44 +0400 Parents: 9a9bb8877eee9e64f33e1e5a2e1d13ca015dd3d6 Branches: phpng Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=7c045c61f03abe38c0f07aab88c6715e8db04550 Log: Optimized for fast path Changed paths: M ext/standard/array.c Diff: diff --git a/ext/standard/array.c b/ext/standard/array.c index 5446bb5..b8b57d7 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -197,12 +197,13 @@ static int php_array_key_compare(const void *a, const void *b TSRMLS_DC) /* {{{ return 0; } - if (Z_TYPE(result) == IS_DOUBLE) { + if (EXPECTED(Z_TYPE(result) == IS_LONG)) { + return ZEND_NORMALIZE_BOOL(Z_LVAL(result)); + } else if (Z_TYPE(result) == IS_DOUBLE) { return ZEND_NORMALIZE_BOOL(Z_DVAL(result)); } - convert_to_long(&result); - return ZEND_NORMALIZE_BOOL(Z_LVAL(result)); + return ZEND_NORMALIZE_BOOL(zval_get_long(&result)); } /* }}} */ @@ -372,12 +373,13 @@ static int php_array_data_compare(const void *a, const void *b TSRMLS_DC) /* {{{ return 0; } - if (Z_TYPE(result) == IS_DOUBLE) { + if (EXPECTED(Z_TYPE(result) == IS_LONG)) { + return ZEND_NORMALIZE_BOOL(Z_LVAL(result)); + } else if (Z_TYPE(result) == IS_DOUBLE) { return ZEND_NORMALIZE_BOOL(Z_DVAL(result)); } - convert_to_long(&result); - return ZEND_NORMALIZE_BOOL(Z_LVAL(result)); + return ZEND_NORMALIZE_BOOL(zval_get_long(&result)); } /* }}} */

« previous php.cvs (#78783) next »