summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2018-07-26 12:58:07 +0300
committerDmitry Stogov <dmitry@zend.com>2018-07-26 12:58:07 +0300
commitab8094c666048b747481df0b9da94e08cadc4160 (patch)
tree3ac94d92f4b07fe2d1d98db81203c85572bea82c /Zend/zend_execute.c
parent7a41e4c0d0ddb2cfb91e31b210d7bceb158d2ab4 (diff)
downloadphp-git-ab8094c666048b747481df0b9da94e08cadc4160.tar.gz
Pack zend_constant.flags and zend_constant.module_number into reserved space inside zend_constant.value.
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r--Zend/zend_execute.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 2638582a4b..6528dc0cb3 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -3296,7 +3296,7 @@ static zend_always_inline int _zend_quick_get_constant(
} else {
key++;
zv = zend_hash_find_ex(EG(zend_constants), Z_STR_P(key), 1);
- if (zv && (((zend_constant*)Z_PTR_P(zv))->flags & CONST_CS) == 0) {
+ if (zv && (ZEND_CONSTANT_FLAGS((zend_constant*)Z_PTR_P(zv)) & CONST_CS) == 0) {
c = (zend_constant*)Z_PTR_P(zv);
} else {
if ((flags & (IS_CONSTANT_IN_NAMESPACE|IS_CONSTANT_UNQUALIFIED)) == (IS_CONSTANT_IN_NAMESPACE|IS_CONSTANT_UNQUALIFIED)) {
@@ -3307,7 +3307,7 @@ static zend_always_inline int _zend_quick_get_constant(
} else {
key++;
zv = zend_hash_find_ex(EG(zend_constants), Z_STR_P(key), 1);
- if (zv && (((zend_constant*)Z_PTR_P(zv))->flags & CONST_CS) == 0) {
+ if (zv && (ZEND_CONSTANT_FLAGS((zend_constant*)Z_PTR_P(zv)) & CONST_CS) == 0) {
c = (zend_constant*)Z_PTR_P(zv);
}
}
@@ -3339,7 +3339,7 @@ static zend_always_inline int _zend_quick_get_constant(
if (!check_defined_only) {
ZVAL_COPY_OR_DUP(EX_VAR(opline->result.var), &c->value);
- if (!(c->flags & (CONST_CS|CONST_CT_SUBST))) {
+ if (!(ZEND_CONSTANT_FLAGS(c) & (CONST_CS|CONST_CT_SUBST))) {
const char *ns_sep;
size_t shortname_offset;
size_t shortname_len;