diff options
author | Dmitry Stogov <dmitry@php.net> | 2010-04-27 12:09:13 +0000 |
---|---|---|
committer | Dmitry Stogov <dmitry@php.net> | 2010-04-27 12:09:13 +0000 |
commit | c58b131e29b86a6c93bd14c502188878bf458510 (patch) | |
tree | 9e91dc82133c67e2f4a532d5565e23aee5c108f5 /Zend/zend_constants.c | |
parent | 194444b29368e2bd4bf851dd21bb16bb614fbe6a (diff) | |
download | php-git-c58b131e29b86a6c93bd14c502188878bf458510.tar.gz |
- Reimplemented ZEND_INIT_FCALL_BY_NAME and ZEND_INIT_NS_FCALL_BY_NAME to use literals instead of additional operands
- Optimized access to global constants
Diffstat (limited to 'Zend/zend_constants.c')
-rw-r--r-- | Zend/zend_constants.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/Zend/zend_constants.c b/Zend/zend_constants.c index f581842698..73ebec9a33 100644 --- a/Zend/zend_constants.c +++ b/Zend/zend_constants.c @@ -413,7 +413,7 @@ finish: return zend_get_constant(name, name_len, result TSRMLS_CC); } -int zend_quick_get_constant(const zend_literal *key, zval *result, ulong flags TSRMLS_DC) +zend_constant *zend_quick_get_constant(const zend_literal *key, ulong flags TSRMLS_DC) { zend_constant *c; @@ -430,22 +430,19 @@ int zend_quick_get_constant(const zend_literal *key, zval *result, ulong flags T key--; if (!zend_get_halt_offset_constant(Z_STRVAL(key->constant), Z_STRLEN(key->constant), &c TSRMLS_CC)) { - return 0; + return NULL; } } } } else { key--; if (!zend_get_halt_offset_constant(Z_STRVAL(key->constant), Z_STRLEN(key->constant), &c TSRMLS_CC)) { - return 0; + return NULL; } } } } - - INIT_PZVAL_COPY(result, &c->value); - zval_copy_ctor(result); - return 1; + return c; } ZEND_API int zend_register_constant(zend_constant *c TSRMLS_DC) |