svn: /php/php-src/ branches/PHP_5_4/Zend/zend_API.c trunk/Zend/zend_API.c
| From: | Felipe Pena | Date: | Sun, 10 Jul 2011 02:00:00 +0000 |
| Subject: | svn: /php/php-src/ branches/PHP_5_4/Zend/zend_API.c trunk/Zend/zend_API.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-65441@lists.php.net to get a copy of this message | ||
felipe Sun, 10 Jul 2011 02:00:00 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=313100
Log:
- Minor optimization, use the computed hash when available
Changed paths:
U php/php-src/branches/PHP_5_4/Zend/zend_API.c
U php/php-src/trunk/Zend/zend_API.c
Modified: php/php-src/branches/PHP_5_4/Zend/zend_API.c
===================================================================
--- php/php-src/branches/PHP_5_4/Zend/zend_API.c 2011-07-10 01:07:50 UTC (rev 313099)
+++ php/php-src/branches/PHP_5_4/Zend/zend_API.c 2011-07-10 02:00:00 UTC (rev 313100)
@@ -2023,10 +2023,18 @@
}
fname_len = strlen(ptr->fname);
lowercase_name = zend_new_interned_string(zend_str_tolower_dup(ptr->fname, fname_len),
fname_len + 1, 1 TSRMLS_CC);
- if (zend_hash_add(target_function_table, lowercase_name, fname_len+1, &function,
sizeof(zend_function), (void**)®_function) == FAILURE) {
- unload=1;
- str_efree(lowercase_name);
- break;
+ if (IS_INTERNED(lowercase_name)) {
+ if (zend_hash_quick_add(target_function_table, lowercase_name, fname_len+1,
INTERNED_HASH(lowercase_name), &function, sizeof(zend_function), (void**)®_function) ==
FAILURE) {
+ unload=1;
+ str_efree(lowercase_name);
+ break;
+ }
+ } else {
+ if (zend_hash_add(target_function_table, lowercase_name, fname_len+1, &function,
sizeof(zend_function), (void**)®_function) == FAILURE) {
+ unload=1;
+ str_efree(lowercase_name);
+ break;
+ }
}
if (scope) {
/* Look for ctor, dtor, clone
Modified: php/php-src/trunk/Zend/zend_API.c
===================================================================
--- php/php-src/trunk/Zend/zend_API.c 2011-07-10 01:07:50 UTC (rev 313099)
+++ php/php-src/trunk/Zend/zend_API.c 2011-07-10 02:00:00 UTC (rev 313100)
@@ -2023,10 +2023,18 @@
}
fname_len = strlen(ptr->fname);
lowercase_name = zend_new_interned_string(zend_str_tolower_dup(ptr->fname, fname_len),
fname_len + 1, 1 TSRMLS_CC);
- if (zend_hash_add(target_function_table, lowercase_name, fname_len+1, &function,
sizeof(zend_function), (void**)®_function) == FAILURE) {
- unload=1;
- str_efree(lowercase_name);
- break;
+ if (IS_INTERNED(lowercase_name)) {
+ if (zend_hash_quick_add(target_function_table, lowercase_name, fname_len+1,
INTERNED_HASH(lowercase_name), &function, sizeof(zend_function), (void**)®_function) ==
FAILURE) {
+ unload=1;
+ str_efree(lowercase_name);
+ break;
+ }
+ } else {
+ if (zend_hash_add(target_function_table, lowercase_name, fname_len+1, &function,
sizeof(zend_function), (void**)®_function) == FAILURE) {
+ unload=1;
+ str_efree(lowercase_name);
+ break;
+ }
}
if (scope) {
/* Look for ctor, dtor, clone