mirror of
https://github.com/php/php-src.git
synced 2026-04-26 17:38:14 +02:00
Change FETCH/ISSET instruction modifiers:
- Get rid of ZEND_ISEMPTY and ZEND_ISSET_ISEMPTY_MASK. Use just single ZEND_ISSET bit to make distinct between isset() and empty() - Use ZEND_FETCH_GLOBAL, ZEND_FETCH_LOCAL and ZEND_FETCH_GLOBAL_LOCK as bitmask - Removed unused ZEND_FETCH_STANDARD - Extended ZEND_FETCH_ARG_MASK
This commit is contained in:
+1
-1
@@ -7571,7 +7571,7 @@ void zend_compile_isset_or_empty(znode *result, zend_ast *ast) /* {{{ */
|
||||
}
|
||||
|
||||
result->op_type = opline->result_type = IS_TMP_VAR;
|
||||
opline->extended_value |= ast->kind == ZEND_AST_ISSET ? ZEND_ISSET : ZEND_ISEMPTY;
|
||||
opline->extended_value |= ast->kind == ZEND_AST_ISSET ? ZEND_ISSET : 0;
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
|
||||
+4
-8
@@ -867,19 +867,15 @@ void zend_assert_valid_class_name(const zend_string *const_name);
|
||||
#define ZEND_RT (1<<1)
|
||||
|
||||
/* global/local fetches */
|
||||
#define ZEND_FETCH_GLOBAL 0x00000000
|
||||
#define ZEND_FETCH_LOCAL 0x10000000
|
||||
#define ZEND_FETCH_GLOBAL 0x10000000
|
||||
#define ZEND_FETCH_LOCAL 0x20000000
|
||||
#define ZEND_FETCH_GLOBAL_LOCK 0x40000000
|
||||
|
||||
#define ZEND_FETCH_TYPE_MASK 0x70000000
|
||||
|
||||
#define ZEND_FETCH_STANDARD 0x00000000
|
||||
#define ZEND_ISSET 0x00000001
|
||||
|
||||
#define ZEND_ISSET 0x02000000
|
||||
#define ZEND_ISEMPTY 0x01000000
|
||||
#define ZEND_ISSET_ISEMPTY_MASK (ZEND_ISSET | ZEND_ISEMPTY)
|
||||
|
||||
#define ZEND_FETCH_ARG_MASK 0x000fffff
|
||||
#define ZEND_FETCH_ARG_MASK 0x0fffffff
|
||||
|
||||
#define ZEND_FREE_ON_RETURN (1<<0)
|
||||
|
||||
|
||||
+2
-3
@@ -1519,11 +1519,10 @@ static zend_always_inline HashTable *zend_get_target_symbol_table(int fetch_type
|
||||
{
|
||||
HashTable *ht;
|
||||
|
||||
if (EXPECTED(fetch_type == ZEND_FETCH_GLOBAL_LOCK) ||
|
||||
EXPECTED(fetch_type == ZEND_FETCH_GLOBAL)) {
|
||||
if (EXPECTED(fetch_type & (ZEND_FETCH_GLOBAL_LOCK | ZEND_FETCH_GLOBAL))) {
|
||||
ht = &EG(symbol_table);
|
||||
} else {
|
||||
ZEND_ASSERT(fetch_type == ZEND_FETCH_LOCAL);
|
||||
ZEND_ASSERT(fetch_type & ZEND_FETCH_LOCAL);
|
||||
if (!(EX_CALL_INFO() & ZEND_CALL_HAS_SYMBOL_TABLE)) {
|
||||
zend_rebuild_symbol_table();
|
||||
}
|
||||
|
||||
+5
-5
@@ -1450,7 +1450,7 @@ ZEND_VM_C_LABEL(fetch_this):
|
||||
}
|
||||
}
|
||||
|
||||
if ((opline->extended_value & ZEND_FETCH_TYPE_MASK) != ZEND_FETCH_GLOBAL_LOCK) {
|
||||
if (!(opline->extended_value & ZEND_FETCH_GLOBAL_LOCK)) {
|
||||
FREE_OP1();
|
||||
}
|
||||
|
||||
@@ -6197,7 +6197,7 @@ ZEND_VM_HANDLER(197, ZEND_ISSET_ISEMPTY_CV, CV, UNUSED, ISSET)
|
||||
result =
|
||||
Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
SAVE_OPLINE();
|
||||
result = !i_zend_is_true(value);
|
||||
if (UNEXPECTED(EG(exception))) {
|
||||
@@ -6240,7 +6240,7 @@ ZEND_VM_HANDLER(114, ZEND_ISSET_ISEMPTY_VAR, CONST|TMPVAR|CV, UNUSED, VAR_FETCH|
|
||||
if (opline->extended_value & ZEND_ISSET) {
|
||||
result = value && Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
result = !value || !i_zend_is_true(value);
|
||||
}
|
||||
|
||||
@@ -6330,7 +6330,7 @@ ZEND_VM_C_LABEL(is_static_prop_return):
|
||||
if (opline->extended_value & ZEND_ISSET) {
|
||||
result = value && Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
result = !value || !i_zend_is_true(value);
|
||||
}
|
||||
|
||||
@@ -6404,7 +6404,7 @@ ZEND_VM_C_LABEL(num_index_prop):
|
||||
/* > IS_NULL means not IS_UNDEF and not IS_NULL */
|
||||
result = value != NULL && Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
result = (value == NULL || !i_zend_is_true(value));
|
||||
}
|
||||
ZEND_VM_C_GOTO(isset_dim_obj_exit);
|
||||
|
||||
+25
-25
@@ -5967,7 +5967,7 @@ is_static_prop_return:
|
||||
if (opline->extended_value & ZEND_ISSET) {
|
||||
result = value && Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
result = !value || !i_zend_is_true(value);
|
||||
}
|
||||
|
||||
@@ -6041,7 +6041,7 @@ num_index_prop:
|
||||
/* > IS_NULL means not IS_UNDEF and not IS_NULL */
|
||||
result = value != NULL && Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
result = (value == NULL || !i_zend_is_true(value));
|
||||
}
|
||||
goto isset_dim_obj_exit;
|
||||
@@ -8027,7 +8027,7 @@ num_index_prop:
|
||||
/* > IS_NULL means not IS_UNDEF and not IS_NULL */
|
||||
result = value != NULL && Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
result = (value == NULL || !i_zend_is_true(value));
|
||||
}
|
||||
goto isset_dim_obj_exit;
|
||||
@@ -8535,7 +8535,7 @@ is_static_prop_return:
|
||||
if (opline->extended_value & ZEND_ISSET) {
|
||||
result = value && Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
result = !value || !i_zend_is_true(value);
|
||||
}
|
||||
|
||||
@@ -8794,7 +8794,7 @@ fetch_this:
|
||||
}
|
||||
}
|
||||
|
||||
if ((opline->extended_value & ZEND_FETCH_TYPE_MASK) != ZEND_FETCH_GLOBAL_LOCK) {
|
||||
if (!(opline->extended_value & ZEND_FETCH_GLOBAL_LOCK)) {
|
||||
|
||||
}
|
||||
|
||||
@@ -9383,7 +9383,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ISSET_ISEMPTY_VAR_SPEC_CONST_U
|
||||
if (opline->extended_value & ZEND_ISSET) {
|
||||
result = value && Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
result = !value || !i_zend_is_true(value);
|
||||
}
|
||||
|
||||
@@ -9472,7 +9472,7 @@ is_static_prop_return:
|
||||
if (opline->extended_value & ZEND_ISSET) {
|
||||
result = value && Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
result = !value || !i_zend_is_true(value);
|
||||
}
|
||||
|
||||
@@ -11217,7 +11217,7 @@ num_index_prop:
|
||||
/* > IS_NULL means not IS_UNDEF and not IS_NULL */
|
||||
result = value != NULL && Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
result = (value == NULL || !i_zend_is_true(value));
|
||||
}
|
||||
goto isset_dim_obj_exit;
|
||||
@@ -14710,7 +14710,7 @@ is_static_prop_return:
|
||||
if (opline->extended_value & ZEND_ISSET) {
|
||||
result = value && Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
result = !value || !i_zend_is_true(value);
|
||||
}
|
||||
|
||||
@@ -14784,7 +14784,7 @@ num_index_prop:
|
||||
/* > IS_NULL means not IS_UNDEF and not IS_NULL */
|
||||
result = value != NULL && Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
result = (value == NULL || !i_zend_is_true(value));
|
||||
}
|
||||
goto isset_dim_obj_exit;
|
||||
@@ -16247,7 +16247,7 @@ num_index_prop:
|
||||
/* > IS_NULL means not IS_UNDEF and not IS_NULL */
|
||||
result = value != NULL && Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
result = (value == NULL || !i_zend_is_true(value));
|
||||
}
|
||||
goto isset_dim_obj_exit;
|
||||
@@ -16617,7 +16617,7 @@ is_static_prop_return:
|
||||
if (opline->extended_value & ZEND_ISSET) {
|
||||
result = value && Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
result = !value || !i_zend_is_true(value);
|
||||
}
|
||||
|
||||
@@ -16784,7 +16784,7 @@ fetch_this:
|
||||
}
|
||||
}
|
||||
|
||||
if ((opline->extended_value & ZEND_FETCH_TYPE_MASK) != ZEND_FETCH_GLOBAL_LOCK) {
|
||||
if (!(opline->extended_value & ZEND_FETCH_GLOBAL_LOCK)) {
|
||||
zval_ptr_dtor_nogc(free_op1);
|
||||
}
|
||||
|
||||
@@ -17029,7 +17029,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ISSET_ISEMPTY_VAR_SPEC_TMPVAR_
|
||||
if (opline->extended_value & ZEND_ISSET) {
|
||||
result = value && Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
result = !value || !i_zend_is_true(value);
|
||||
}
|
||||
|
||||
@@ -17119,7 +17119,7 @@ is_static_prop_return:
|
||||
if (opline->extended_value & ZEND_ISSET) {
|
||||
result = value && Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
result = !value || !i_zend_is_true(value);
|
||||
}
|
||||
|
||||
@@ -18171,7 +18171,7 @@ num_index_prop:
|
||||
/* > IS_NULL means not IS_UNDEF and not IS_NULL */
|
||||
result = value != NULL && Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
result = (value == NULL || !i_zend_is_true(value));
|
||||
}
|
||||
goto isset_dim_obj_exit;
|
||||
@@ -42947,7 +42947,7 @@ is_static_prop_return:
|
||||
if (opline->extended_value & ZEND_ISSET) {
|
||||
result = value && Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
result = !value || !i_zend_is_true(value);
|
||||
}
|
||||
|
||||
@@ -43021,7 +43021,7 @@ num_index_prop:
|
||||
/* > IS_NULL means not IS_UNDEF and not IS_NULL */
|
||||
result = value != NULL && Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
result = (value == NULL || !i_zend_is_true(value));
|
||||
}
|
||||
goto isset_dim_obj_exit;
|
||||
@@ -46708,7 +46708,7 @@ num_index_prop:
|
||||
/* > IS_NULL means not IS_UNDEF and not IS_NULL */
|
||||
result = value != NULL && Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
result = (value == NULL || !i_zend_is_true(value));
|
||||
}
|
||||
goto isset_dim_obj_exit;
|
||||
@@ -47457,7 +47457,7 @@ is_static_prop_return:
|
||||
if (opline->extended_value & ZEND_ISSET) {
|
||||
result = value && Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
result = !value || !i_zend_is_true(value);
|
||||
}
|
||||
|
||||
@@ -47932,7 +47932,7 @@ fetch_this:
|
||||
}
|
||||
}
|
||||
|
||||
if ((opline->extended_value & ZEND_FETCH_TYPE_MASK) != ZEND_FETCH_GLOBAL_LOCK) {
|
||||
if (!(opline->extended_value & ZEND_FETCH_GLOBAL_LOCK)) {
|
||||
|
||||
}
|
||||
|
||||
@@ -48771,7 +48771,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSE
|
||||
result =
|
||||
Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
SAVE_OPLINE();
|
||||
result = !i_zend_is_true(value);
|
||||
if (UNEXPECTED(EG(exception))) {
|
||||
@@ -48813,7 +48813,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ISSET_ISEMPTY_VAR_SPEC_CV_UNUS
|
||||
if (opline->extended_value & ZEND_ISSET) {
|
||||
result = value && Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
result = !value || !i_zend_is_true(value);
|
||||
}
|
||||
|
||||
@@ -48902,7 +48902,7 @@ is_static_prop_return:
|
||||
if (opline->extended_value & ZEND_ISSET) {
|
||||
result = value && Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
result = !value || !i_zend_is_true(value);
|
||||
}
|
||||
|
||||
@@ -52545,7 +52545,7 @@ num_index_prop:
|
||||
/* > IS_NULL means not IS_UNDEF and not IS_NULL */
|
||||
result = value != NULL && Z_TYPE_P(value) > IS_NULL &&
|
||||
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
|
||||
} else /* if (opline->extended_value & ZEND_ISEMPTY) */ {
|
||||
} else {
|
||||
result = (value == NULL || !i_zend_is_true(value));
|
||||
}
|
||||
goto isset_dim_obj_exit;
|
||||
|
||||
@@ -430,7 +430,6 @@ static inline int ct_eval_isset_dim(zval *result, uint32_t extended_value, zval
|
||||
if (extended_value & ZEND_ISSET) {
|
||||
ZVAL_BOOL(result, value && Z_TYPE_P(value) != IS_NULL);
|
||||
} else {
|
||||
ZEND_ASSERT(extended_value & ZEND_ISEMPTY);
|
||||
ZVAL_BOOL(result, !value || !zend_is_true(value));
|
||||
}
|
||||
return SUCCESS;
|
||||
@@ -588,7 +587,6 @@ static inline int ct_eval_isset_obj(zval *result, uint32_t extended_value, zval
|
||||
if (extended_value & ZEND_ISSET) {
|
||||
ZVAL_BOOL(result, value && Z_TYPE_P(value) != IS_NULL);
|
||||
} else {
|
||||
ZEND_ASSERT(extended_value & ZEND_ISEMPTY);
|
||||
ZVAL_BOOL(result, !value || !zend_is_true(value));
|
||||
}
|
||||
return SUCCESS;
|
||||
@@ -655,7 +653,6 @@ static inline int ct_eval_isset_isempty(zval *result, uint32_t extended_value, z
|
||||
if (extended_value & ZEND_ISSET) {
|
||||
ZVAL_BOOL(result, Z_TYPE_P(op1) != IS_NULL);
|
||||
} else {
|
||||
ZEND_ASSERT(extended_value & ZEND_ISEMPTY);
|
||||
ZVAL_BOOL(result, !zend_is_true(op1));
|
||||
}
|
||||
return SUCCESS;
|
||||
|
||||
@@ -416,10 +416,9 @@ int zend_build_cfg(zend_arena **arena, const zend_op_array *op_array, uint32_t b
|
||||
}
|
||||
case ZEND_UNSET_VAR:
|
||||
case ZEND_ISSET_ISEMPTY_VAR:
|
||||
if ((opline->extended_value & ZEND_FETCH_TYPE_MASK) == ZEND_FETCH_LOCAL) {
|
||||
if (opline->extended_value & ZEND_FETCH_LOCAL) {
|
||||
flags |= ZEND_FUNC_INDIRECT_VAR_ACCESS;
|
||||
} else if (((opline->extended_value & ZEND_FETCH_TYPE_MASK) == ZEND_FETCH_GLOBAL ||
|
||||
(opline->extended_value & ZEND_FETCH_TYPE_MASK) == ZEND_FETCH_GLOBAL_LOCK) &&
|
||||
} else if ((opline->extended_value & (ZEND_FETCH_GLOBAL | ZEND_FETCH_GLOBAL_LOCK)) &&
|
||||
!op_array->function_name) {
|
||||
flags |= ZEND_FUNC_INDIRECT_VAR_ACCESS;
|
||||
}
|
||||
@@ -430,10 +429,9 @@ int zend_build_cfg(zend_arena **arena, const zend_op_array *op_array, uint32_t b
|
||||
case ZEND_FETCH_FUNC_ARG:
|
||||
case ZEND_FETCH_IS:
|
||||
case ZEND_FETCH_UNSET:
|
||||
if ((opline->extended_value & ZEND_FETCH_TYPE_MASK) == ZEND_FETCH_LOCAL) {
|
||||
if (opline->extended_value & ZEND_FETCH_LOCAL) {
|
||||
flags |= ZEND_FUNC_INDIRECT_VAR_ACCESS;
|
||||
} else if (((opline->extended_value & ZEND_FETCH_TYPE_MASK) == ZEND_FETCH_GLOBAL ||
|
||||
(opline->extended_value & ZEND_FETCH_TYPE_MASK) == ZEND_FETCH_GLOBAL_LOCK) &&
|
||||
} else if ((opline->extended_value & (ZEND_FETCH_GLOBAL | ZEND_FETCH_GLOBAL_LOCK)) &&
|
||||
!op_array->function_name) {
|
||||
flags |= ZEND_FUNC_INDIRECT_VAR_ACCESS;
|
||||
}
|
||||
|
||||
@@ -580,7 +580,7 @@ static void zend_dump_op(const zend_op_array *op_array, const zend_basic_block *
|
||||
if (ZEND_VM_EXT_ISSET & flags) {
|
||||
if (opline->extended_value & ZEND_ISSET) {
|
||||
fprintf(stderr, " (isset)");
|
||||
} else if (opline->extended_value & ZEND_ISEMPTY) {
|
||||
} else {
|
||||
fprintf(stderr, " (empty)");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user