summaryrefslogtreecommitdiff
path: root/Zend/zend_constants.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2010-04-27 12:09:13 +0000
committerDmitry Stogov <dmitry@php.net>2010-04-27 12:09:13 +0000
commitc58b131e29b86a6c93bd14c502188878bf458510 (patch)
tree9e91dc82133c67e2f4a532d5565e23aee5c108f5 /Zend/zend_constants.c
parent194444b29368e2bd4bf851dd21bb16bb614fbe6a (diff)
downloadphp-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.c11
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)