SAVE_OPLINE();
if (IS_CONST == IS_CONST) {
- if (IS_CONST == IS_CONST && EXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISSET)) != NULL)) {
- value = CACHED_PTR((opline->extended_value & ~ZEND_ISSET) + sizeof(void*));
+ if (IS_CONST == IS_CONST && EXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY)) != NULL)) {
+ value = CACHED_PTR((opline->extended_value & ~ZEND_ISEMPTY) + sizeof(void*));
goto is_static_prop_return;
- } else if (UNEXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISSET)) == NULL)) {
+ } else if (UNEXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY)) == NULL)) {
ce = zend_fetch_class_by_name(Z_STR_P(RT_CONSTANT(opline, opline->op2)), RT_CONSTANT(opline, opline->op2) + 1, ZEND_FETCH_CLASS_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
if (UNEXPECTED(ce == NULL)) {
ZEND_ASSERT(EG(exception));
HANDLE_EXCEPTION();
}
if (IS_CONST != IS_CONST) {
- CACHE_PTR(opline->extended_value & ~ZEND_ISSET, ce);
+ CACHE_PTR(opline->extended_value & ~ZEND_ISEMPTY, ce);
}
}
} else {
ce = Z_CE_P(EX_VAR(opline->op2.var));
}
if (IS_CONST == IS_CONST &&
- EXPECTED(CACHED_PTR(opline->extended_value & ~ZEND_ISSET) == ce)) {
+ EXPECTED(CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY) == ce)) {
- value = CACHED_PTR((opline->extended_value & ~ZEND_ISSET) + sizeof(void*));
+ value = CACHED_PTR((opline->extended_value & ~ZEND_ISEMPTY) + sizeof(void*));
goto is_static_prop_return;
}
}
value = zend_std_get_static_property(ce, name, 1);
if (IS_CONST == IS_CONST && value) {
- CACHE_POLYMORPHIC_PTR(opline->extended_value & ~ZEND_ISSET, ce, value);
+ CACHE_POLYMORPHIC_PTR(opline->extended_value & ~ZEND_ISEMPTY, ce, value);
}
if (IS_CONST != IS_CONST) {
}
is_static_prop_return:
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
result = value && Z_TYPE_P(value) > IS_NULL &&
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
} else {
value = zend_find_array_dim_slow(ht, offset EXECUTE_DATA_CC);
}
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
/* > 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);
}
}
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
result = zend_isset_dim_slow(container, offset EXECUTE_DATA_CC);
} else {
result = zend_isempty_dim_slow(container, offset EXECUTE_DATA_CC);
if (UNEXPECTED(!Z_OBJ_HT_P(container)->has_property)) {
zend_wrong_property_check(offset);
isset_no_object:
- result = ((opline->extended_value & ZEND_ISSET) == 0);
+ result = (opline->extended_value & ZEND_ISEMPTY);
} else {
result =
- ((opline->extended_value & ZEND_ISSET) == 0) ^
- Z_OBJ_HT_P(container)->has_property(container, offset, (opline->extended_value & ZEND_ISSET) == 0, ((IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value & ~ZEND_ISSET) : NULL));
+ (opline->extended_value & ZEND_ISEMPTY) ^
+ Z_OBJ_HT_P(container)->has_property(container, offset, (opline->extended_value & ZEND_ISEMPTY), ((IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value & ~ZEND_ISEMPTY) : NULL));
}
value = zend_find_array_dim_slow(ht, offset EXECUTE_DATA_CC);
}
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
/* > 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);
}
}
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
result = zend_isset_dim_slow(container, offset EXECUTE_DATA_CC);
} else {
result = zend_isempty_dim_slow(container, offset EXECUTE_DATA_CC);
if (UNEXPECTED(!Z_OBJ_HT_P(container)->has_property)) {
zend_wrong_property_check(offset);
isset_no_object:
- result = ((opline->extended_value & ZEND_ISSET) == 0);
+ result = (opline->extended_value & ZEND_ISEMPTY);
} else {
result =
- ((opline->extended_value & ZEND_ISSET) == 0) ^
- Z_OBJ_HT_P(container)->has_property(container, offset, (opline->extended_value & ZEND_ISSET) == 0, (((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value & ~ZEND_ISSET) : NULL));
+ (opline->extended_value & ZEND_ISEMPTY) ^
+ Z_OBJ_HT_P(container)->has_property(container, offset, (opline->extended_value & ZEND_ISEMPTY), (((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value & ~ZEND_ISEMPTY) : NULL));
}
zval_ptr_dtor_nogc(free_op2);
SAVE_OPLINE();
if (IS_VAR == IS_CONST) {
- if (IS_CONST == IS_CONST && EXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISSET)) != NULL)) {
- value = CACHED_PTR((opline->extended_value & ~ZEND_ISSET) + sizeof(void*));
+ if (IS_CONST == IS_CONST && EXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY)) != NULL)) {
+ value = CACHED_PTR((opline->extended_value & ~ZEND_ISEMPTY) + sizeof(void*));
goto is_static_prop_return;
- } else if (UNEXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISSET)) == NULL)) {
+ } else if (UNEXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY)) == NULL)) {
ce = zend_fetch_class_by_name(Z_STR_P(RT_CONSTANT(opline, opline->op2)), RT_CONSTANT(opline, opline->op2) + 1, ZEND_FETCH_CLASS_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
if (UNEXPECTED(ce == NULL)) {
ZEND_ASSERT(EG(exception));
HANDLE_EXCEPTION();
}
if (IS_CONST != IS_CONST) {
- CACHE_PTR(opline->extended_value & ~ZEND_ISSET, ce);
+ CACHE_PTR(opline->extended_value & ~ZEND_ISEMPTY, ce);
}
}
} else {
ce = Z_CE_P(EX_VAR(opline->op2.var));
}
if (IS_CONST == IS_CONST &&
- EXPECTED(CACHED_PTR(opline->extended_value & ~ZEND_ISSET) == ce)) {
+ EXPECTED(CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY) == ce)) {
- value = CACHED_PTR((opline->extended_value & ~ZEND_ISSET) + sizeof(void*));
+ value = CACHED_PTR((opline->extended_value & ~ZEND_ISEMPTY) + sizeof(void*));
goto is_static_prop_return;
}
}
value = zend_std_get_static_property(ce, name, 1);
if (IS_CONST == IS_CONST && value) {
- CACHE_POLYMORPHIC_PTR(opline->extended_value & ~ZEND_ISSET, ce, value);
+ CACHE_POLYMORPHIC_PTR(opline->extended_value & ~ZEND_ISEMPTY, ce, value);
}
if (IS_CONST != IS_CONST) {
}
is_static_prop_return:
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
result = value && Z_TYPE_P(value) > IS_NULL &&
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
} else {
}
target_symbol_table = zend_get_target_symbol_table(opline->extended_value EXECUTE_DATA_CC);
- value = zend_hash_find_ex_ind(target_symbol_table, name, IS_CONST == IS_CONST);
+ value = zend_hash_find_ex(target_symbol_table, name, IS_CONST == IS_CONST);
if (IS_CONST != IS_CONST) {
zend_tmp_string_release(tmp_name);
}
- 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);
+ if (!value) {
+ result = (opline->extended_value & ZEND_ISEMPTY);
} else {
- result = !value || !i_zend_is_true(value);
+ if (Z_TYPE_P(value) == IS_INDIRECT) {
+ value = Z_INDIRECT_P(value);
+ }
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
+ if (Z_ISREF_P(value)) {
+ value = Z_REFVAL_P(value);
+ }
+ result = Z_TYPE_P(value) > IS_NULL;
+ } else {
+ result = !i_zend_is_true(value);
+ }
}
ZEND_VM_SMART_BRANCH(result, 1);
SAVE_OPLINE();
if (IS_UNUSED == IS_CONST) {
- if (IS_CONST == IS_CONST && EXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISSET)) != NULL)) {
- value = CACHED_PTR((opline->extended_value & ~ZEND_ISSET) + sizeof(void*));
+ if (IS_CONST == IS_CONST && EXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY)) != NULL)) {
+ value = CACHED_PTR((opline->extended_value & ~ZEND_ISEMPTY) + sizeof(void*));
goto is_static_prop_return;
- } else if (UNEXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISSET)) == NULL)) {
+ } else if (UNEXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY)) == NULL)) {
ce = zend_fetch_class_by_name(Z_STR_P(RT_CONSTANT(opline, opline->op2)), RT_CONSTANT(opline, opline->op2) + 1, ZEND_FETCH_CLASS_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
if (UNEXPECTED(ce == NULL)) {
ZEND_ASSERT(EG(exception));
HANDLE_EXCEPTION();
}
if (IS_CONST != IS_CONST) {
- CACHE_PTR(opline->extended_value & ~ZEND_ISSET, ce);
+ CACHE_PTR(opline->extended_value & ~ZEND_ISEMPTY, ce);
}
}
} else {
ce = Z_CE_P(EX_VAR(opline->op2.var));
}
if (IS_CONST == IS_CONST &&
- EXPECTED(CACHED_PTR(opline->extended_value & ~ZEND_ISSET) == ce)) {
+ EXPECTED(CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY) == ce)) {
- value = CACHED_PTR((opline->extended_value & ~ZEND_ISSET) + sizeof(void*));
+ value = CACHED_PTR((opline->extended_value & ~ZEND_ISEMPTY) + sizeof(void*));
goto is_static_prop_return;
}
}
value = zend_std_get_static_property(ce, name, 1);
if (IS_CONST == IS_CONST && value) {
- CACHE_POLYMORPHIC_PTR(opline->extended_value & ~ZEND_ISSET, ce, value);
+ CACHE_POLYMORPHIC_PTR(opline->extended_value & ~ZEND_ISEMPTY, ce, value);
}
if (IS_CONST != IS_CONST) {
}
is_static_prop_return:
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
result = value && Z_TYPE_P(value) > IS_NULL &&
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
} else {
value = zend_find_array_dim_slow(ht, offset EXECUTE_DATA_CC);
}
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
/* > 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);
}
}
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
result = zend_isset_dim_slow(container, offset EXECUTE_DATA_CC);
} else {
result = zend_isempty_dim_slow(container, offset EXECUTE_DATA_CC);
if (UNEXPECTED(!Z_OBJ_HT_P(container)->has_property)) {
zend_wrong_property_check(offset);
isset_no_object:
- result = ((opline->extended_value & ZEND_ISSET) == 0);
+ result = (opline->extended_value & ZEND_ISEMPTY);
} else {
result =
- ((opline->extended_value & ZEND_ISSET) == 0) ^
- Z_OBJ_HT_P(container)->has_property(container, offset, (opline->extended_value & ZEND_ISSET) == 0, ((IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value & ~ZEND_ISSET) : NULL));
+ (opline->extended_value & ZEND_ISEMPTY) ^
+ Z_OBJ_HT_P(container)->has_property(container, offset, (opline->extended_value & ZEND_ISEMPTY), ((IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value & ~ZEND_ISEMPTY) : NULL));
}
SAVE_OPLINE();
if (IS_CONST == IS_CONST) {
- if ((IS_TMP_VAR|IS_VAR) == IS_CONST && EXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISSET)) != NULL)) {
- value = CACHED_PTR((opline->extended_value & ~ZEND_ISSET) + sizeof(void*));
+ if ((IS_TMP_VAR|IS_VAR) == IS_CONST && EXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY)) != NULL)) {
+ value = CACHED_PTR((opline->extended_value & ~ZEND_ISEMPTY) + sizeof(void*));
goto is_static_prop_return;
- } else if (UNEXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISSET)) == NULL)) {
+ } else if (UNEXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY)) == NULL)) {
ce = zend_fetch_class_by_name(Z_STR_P(RT_CONSTANT(opline, opline->op2)), RT_CONSTANT(opline, opline->op2) + 1, ZEND_FETCH_CLASS_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
if (UNEXPECTED(ce == NULL)) {
ZEND_ASSERT(EG(exception));
HANDLE_EXCEPTION();
}
if ((IS_TMP_VAR|IS_VAR) != IS_CONST) {
- CACHE_PTR(opline->extended_value & ~ZEND_ISSET, ce);
+ CACHE_PTR(opline->extended_value & ~ZEND_ISEMPTY, ce);
}
}
} else {
ce = Z_CE_P(EX_VAR(opline->op2.var));
}
if ((IS_TMP_VAR|IS_VAR) == IS_CONST &&
- EXPECTED(CACHED_PTR(opline->extended_value & ~ZEND_ISSET) == ce)) {
+ EXPECTED(CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY) == ce)) {
- value = CACHED_PTR((opline->extended_value & ~ZEND_ISSET) + sizeof(void*));
+ value = CACHED_PTR((opline->extended_value & ~ZEND_ISEMPTY) + sizeof(void*));
goto is_static_prop_return;
}
}
value = zend_std_get_static_property(ce, name, 1);
if ((IS_TMP_VAR|IS_VAR) == IS_CONST && value) {
- CACHE_POLYMORPHIC_PTR(opline->extended_value & ~ZEND_ISSET, ce, value);
+ CACHE_POLYMORPHIC_PTR(opline->extended_value & ~ZEND_ISEMPTY, ce, value);
}
if ((IS_TMP_VAR|IS_VAR) != IS_CONST) {
zval_ptr_dtor_nogc(free_op1);
is_static_prop_return:
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
result = value && Z_TYPE_P(value) > IS_NULL &&
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
} else {
value = zend_find_array_dim_slow(ht, offset EXECUTE_DATA_CC);
}
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
/* > 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);
}
}
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
result = zend_isset_dim_slow(container, offset EXECUTE_DATA_CC);
} else {
result = zend_isempty_dim_slow(container, offset EXECUTE_DATA_CC);
if (UNEXPECTED(!Z_OBJ_HT_P(container)->has_property)) {
zend_wrong_property_check(offset);
isset_no_object:
- result = ((opline->extended_value & ZEND_ISSET) == 0);
+ result = (opline->extended_value & ZEND_ISEMPTY);
} else {
result =
- ((opline->extended_value & ZEND_ISSET) == 0) ^
- Z_OBJ_HT_P(container)->has_property(container, offset, (opline->extended_value & ZEND_ISSET) == 0, ((IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value & ~ZEND_ISSET) : NULL));
+ (opline->extended_value & ZEND_ISEMPTY) ^
+ Z_OBJ_HT_P(container)->has_property(container, offset, (opline->extended_value & ZEND_ISEMPTY), ((IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value & ~ZEND_ISEMPTY) : NULL));
}
zval_ptr_dtor_nogc(free_op1);
value = zend_find_array_dim_slow(ht, offset EXECUTE_DATA_CC);
}
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
/* > 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);
}
}
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
result = zend_isset_dim_slow(container, offset EXECUTE_DATA_CC);
} else {
result = zend_isempty_dim_slow(container, offset EXECUTE_DATA_CC);
if (UNEXPECTED(!Z_OBJ_HT_P(container)->has_property)) {
zend_wrong_property_check(offset);
isset_no_object:
- result = ((opline->extended_value & ZEND_ISSET) == 0);
+ result = (opline->extended_value & ZEND_ISEMPTY);
} else {
result =
- ((opline->extended_value & ZEND_ISSET) == 0) ^
- Z_OBJ_HT_P(container)->has_property(container, offset, (opline->extended_value & ZEND_ISSET) == 0, (((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value & ~ZEND_ISSET) : NULL));
+ (opline->extended_value & ZEND_ISEMPTY) ^
+ Z_OBJ_HT_P(container)->has_property(container, offset, (opline->extended_value & ZEND_ISEMPTY), (((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value & ~ZEND_ISEMPTY) : NULL));
}
zval_ptr_dtor_nogc(free_op2);
SAVE_OPLINE();
if (IS_VAR == IS_CONST) {
- if ((IS_TMP_VAR|IS_VAR) == IS_CONST && EXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISSET)) != NULL)) {
- value = CACHED_PTR((opline->extended_value & ~ZEND_ISSET) + sizeof(void*));
+ if ((IS_TMP_VAR|IS_VAR) == IS_CONST && EXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY)) != NULL)) {
+ value = CACHED_PTR((opline->extended_value & ~ZEND_ISEMPTY) + sizeof(void*));
goto is_static_prop_return;
- } else if (UNEXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISSET)) == NULL)) {
+ } else if (UNEXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY)) == NULL)) {
ce = zend_fetch_class_by_name(Z_STR_P(RT_CONSTANT(opline, opline->op2)), RT_CONSTANT(opline, opline->op2) + 1, ZEND_FETCH_CLASS_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
if (UNEXPECTED(ce == NULL)) {
ZEND_ASSERT(EG(exception));
HANDLE_EXCEPTION();
}
if ((IS_TMP_VAR|IS_VAR) != IS_CONST) {
- CACHE_PTR(opline->extended_value & ~ZEND_ISSET, ce);
+ CACHE_PTR(opline->extended_value & ~ZEND_ISEMPTY, ce);
}
}
} else {
ce = Z_CE_P(EX_VAR(opline->op2.var));
}
if ((IS_TMP_VAR|IS_VAR) == IS_CONST &&
- EXPECTED(CACHED_PTR(opline->extended_value & ~ZEND_ISSET) == ce)) {
+ EXPECTED(CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY) == ce)) {
- value = CACHED_PTR((opline->extended_value & ~ZEND_ISSET) + sizeof(void*));
+ value = CACHED_PTR((opline->extended_value & ~ZEND_ISEMPTY) + sizeof(void*));
goto is_static_prop_return;
}
}
value = zend_std_get_static_property(ce, name, 1);
if ((IS_TMP_VAR|IS_VAR) == IS_CONST && value) {
- CACHE_POLYMORPHIC_PTR(opline->extended_value & ~ZEND_ISSET, ce, value);
+ CACHE_POLYMORPHIC_PTR(opline->extended_value & ~ZEND_ISEMPTY, ce, value);
}
if ((IS_TMP_VAR|IS_VAR) != IS_CONST) {
zval_ptr_dtor_nogc(free_op1);
is_static_prop_return:
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
result = value && Z_TYPE_P(value) > IS_NULL &&
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
} else {
}
target_symbol_table = zend_get_target_symbol_table(opline->extended_value EXECUTE_DATA_CC);
- value = zend_hash_find_ex_ind(target_symbol_table, name, (IS_TMP_VAR|IS_VAR) == IS_CONST);
+ value = zend_hash_find_ex(target_symbol_table, name, (IS_TMP_VAR|IS_VAR) == IS_CONST);
if ((IS_TMP_VAR|IS_VAR) != IS_CONST) {
zend_tmp_string_release(tmp_name);
}
zval_ptr_dtor_nogc(free_op1);
- 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);
+ if (!value) {
+ result = (opline->extended_value & ZEND_ISEMPTY);
} else {
- result = !value || !i_zend_is_true(value);
+ if (Z_TYPE_P(value) == IS_INDIRECT) {
+ value = Z_INDIRECT_P(value);
+ }
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
+ if (Z_ISREF_P(value)) {
+ value = Z_REFVAL_P(value);
+ }
+ result = Z_TYPE_P(value) > IS_NULL;
+ } else {
+ result = !i_zend_is_true(value);
+ }
}
ZEND_VM_SMART_BRANCH(result, 1);
SAVE_OPLINE();
if (IS_UNUSED == IS_CONST) {
- if ((IS_TMP_VAR|IS_VAR) == IS_CONST && EXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISSET)) != NULL)) {
- value = CACHED_PTR((opline->extended_value & ~ZEND_ISSET) + sizeof(void*));
+ if ((IS_TMP_VAR|IS_VAR) == IS_CONST && EXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY)) != NULL)) {
+ value = CACHED_PTR((opline->extended_value & ~ZEND_ISEMPTY) + sizeof(void*));
goto is_static_prop_return;
- } else if (UNEXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISSET)) == NULL)) {
+ } else if (UNEXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY)) == NULL)) {
ce = zend_fetch_class_by_name(Z_STR_P(RT_CONSTANT(opline, opline->op2)), RT_CONSTANT(opline, opline->op2) + 1, ZEND_FETCH_CLASS_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
if (UNEXPECTED(ce == NULL)) {
ZEND_ASSERT(EG(exception));
HANDLE_EXCEPTION();
}
if ((IS_TMP_VAR|IS_VAR) != IS_CONST) {
- CACHE_PTR(opline->extended_value & ~ZEND_ISSET, ce);
+ CACHE_PTR(opline->extended_value & ~ZEND_ISEMPTY, ce);
}
}
} else {
ce = Z_CE_P(EX_VAR(opline->op2.var));
}
if ((IS_TMP_VAR|IS_VAR) == IS_CONST &&
- EXPECTED(CACHED_PTR(opline->extended_value & ~ZEND_ISSET) == ce)) {
+ EXPECTED(CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY) == ce)) {
- value = CACHED_PTR((opline->extended_value & ~ZEND_ISSET) + sizeof(void*));
+ value = CACHED_PTR((opline->extended_value & ~ZEND_ISEMPTY) + sizeof(void*));
goto is_static_prop_return;
}
}
value = zend_std_get_static_property(ce, name, 1);
if ((IS_TMP_VAR|IS_VAR) == IS_CONST && value) {
- CACHE_POLYMORPHIC_PTR(opline->extended_value & ~ZEND_ISSET, ce, value);
+ CACHE_POLYMORPHIC_PTR(opline->extended_value & ~ZEND_ISEMPTY, ce, value);
}
if ((IS_TMP_VAR|IS_VAR) != IS_CONST) {
zval_ptr_dtor_nogc(free_op1);
is_static_prop_return:
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
result = value && Z_TYPE_P(value) > IS_NULL &&
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
} else {
value = zend_find_array_dim_slow(ht, offset EXECUTE_DATA_CC);
}
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
/* > 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);
}
}
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
result = zend_isset_dim_slow(container, offset EXECUTE_DATA_CC);
} else {
result = zend_isempty_dim_slow(container, offset EXECUTE_DATA_CC);
if (UNEXPECTED(!Z_OBJ_HT_P(container)->has_property)) {
zend_wrong_property_check(offset);
isset_no_object:
- result = ((opline->extended_value & ZEND_ISSET) == 0);
+ result = (opline->extended_value & ZEND_ISEMPTY);
} else {
result =
- ((opline->extended_value & ZEND_ISSET) == 0) ^
- Z_OBJ_HT_P(container)->has_property(container, offset, (opline->extended_value & ZEND_ISSET) == 0, ((IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value & ~ZEND_ISSET) : NULL));
+ (opline->extended_value & ZEND_ISEMPTY) ^
+ Z_OBJ_HT_P(container)->has_property(container, offset, (opline->extended_value & ZEND_ISEMPTY), ((IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value & ~ZEND_ISEMPTY) : NULL));
}
zval_ptr_dtor_nogc(free_op1);
if (UNEXPECTED(!Z_OBJ_HT_P(container)->has_property)) {
zend_wrong_property_check(offset);
isset_no_object:
- result = ((opline->extended_value & ZEND_ISSET) == 0);
+ result = (opline->extended_value & ZEND_ISEMPTY);
} else {
result =
- ((opline->extended_value & ZEND_ISSET) == 0) ^
- Z_OBJ_HT_P(container)->has_property(container, offset, (opline->extended_value & ZEND_ISSET) == 0, ((IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value & ~ZEND_ISSET) : NULL));
+ (opline->extended_value & ZEND_ISEMPTY) ^
+ Z_OBJ_HT_P(container)->has_property(container, offset, (opline->extended_value & ZEND_ISEMPTY), ((IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value & ~ZEND_ISEMPTY) : NULL));
}
if (UNEXPECTED(!Z_OBJ_HT_P(container)->has_property)) {
zend_wrong_property_check(offset);
isset_no_object:
- result = ((opline->extended_value & ZEND_ISSET) == 0);
+ result = (opline->extended_value & ZEND_ISEMPTY);
} else {
result =
- ((opline->extended_value & ZEND_ISSET) == 0) ^
- Z_OBJ_HT_P(container)->has_property(container, offset, (opline->extended_value & ZEND_ISSET) == 0, (((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value & ~ZEND_ISSET) : NULL));
+ (opline->extended_value & ZEND_ISEMPTY) ^
+ Z_OBJ_HT_P(container)->has_property(container, offset, (opline->extended_value & ZEND_ISEMPTY), (((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value & ~ZEND_ISEMPTY) : NULL));
}
zval_ptr_dtor_nogc(free_op2);
USE_OPLINE
ZVAL_BOOL(EX_VAR(opline->result.var),
- (opline->extended_value & ZEND_ISSET) ?
- (Z_TYPE(EX(This)) == IS_OBJECT) :
- (Z_TYPE(EX(This)) != IS_OBJECT));
+ (opline->extended_value & ZEND_ISEMPTY) ^
+ (Z_TYPE(EX(This)) == IS_OBJECT));
ZEND_VM_NEXT_OPCODE();
}
if (UNEXPECTED(!Z_OBJ_HT_P(container)->has_property)) {
zend_wrong_property_check(offset);
isset_no_object:
- result = ((opline->extended_value & ZEND_ISSET) == 0);
+ result = (opline->extended_value & ZEND_ISEMPTY);
} else {
result =
- ((opline->extended_value & ZEND_ISSET) == 0) ^
- Z_OBJ_HT_P(container)->has_property(container, offset, (opline->extended_value & ZEND_ISSET) == 0, ((IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value & ~ZEND_ISSET) : NULL));
+ (opline->extended_value & ZEND_ISEMPTY) ^
+ Z_OBJ_HT_P(container)->has_property(container, offset, (opline->extended_value & ZEND_ISEMPTY), ((IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value & ~ZEND_ISEMPTY) : NULL));
}
SAVE_OPLINE();
if (IS_CONST == IS_CONST) {
- if (IS_CV == IS_CONST && EXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISSET)) != NULL)) {
- value = CACHED_PTR((opline->extended_value & ~ZEND_ISSET) + sizeof(void*));
+ if (IS_CV == IS_CONST && EXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY)) != NULL)) {
+ value = CACHED_PTR((opline->extended_value & ~ZEND_ISEMPTY) + sizeof(void*));
goto is_static_prop_return;
- } else if (UNEXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISSET)) == NULL)) {
+ } else if (UNEXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY)) == NULL)) {
ce = zend_fetch_class_by_name(Z_STR_P(RT_CONSTANT(opline, opline->op2)), RT_CONSTANT(opline, opline->op2) + 1, ZEND_FETCH_CLASS_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
if (UNEXPECTED(ce == NULL)) {
ZEND_ASSERT(EG(exception));
HANDLE_EXCEPTION();
}
if (IS_CV != IS_CONST) {
- CACHE_PTR(opline->extended_value & ~ZEND_ISSET, ce);
+ CACHE_PTR(opline->extended_value & ~ZEND_ISEMPTY, ce);
}
}
} else {
ce = Z_CE_P(EX_VAR(opline->op2.var));
}
if (IS_CV == IS_CONST &&
- EXPECTED(CACHED_PTR(opline->extended_value & ~ZEND_ISSET) == ce)) {
+ EXPECTED(CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY) == ce)) {
- value = CACHED_PTR((opline->extended_value & ~ZEND_ISSET) + sizeof(void*));
+ value = CACHED_PTR((opline->extended_value & ~ZEND_ISEMPTY) + sizeof(void*));
goto is_static_prop_return;
}
}
value = zend_std_get_static_property(ce, name, 1);
if (IS_CV == IS_CONST && value) {
- CACHE_POLYMORPHIC_PTR(opline->extended_value & ~ZEND_ISSET, ce, value);
+ CACHE_POLYMORPHIC_PTR(opline->extended_value & ~ZEND_ISEMPTY, ce, value);
}
if (IS_CV != IS_CONST) {
}
is_static_prop_return:
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
result = value && Z_TYPE_P(value) > IS_NULL &&
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
} else {
value = zend_find_array_dim_slow(ht, offset EXECUTE_DATA_CC);
}
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
/* > 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);
}
}
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
result = zend_isset_dim_slow(container, offset EXECUTE_DATA_CC);
} else {
result = zend_isempty_dim_slow(container, offset EXECUTE_DATA_CC);
if (UNEXPECTED(!Z_OBJ_HT_P(container)->has_property)) {
zend_wrong_property_check(offset);
isset_no_object:
- result = ((opline->extended_value & ZEND_ISSET) == 0);
+ result = (opline->extended_value & ZEND_ISEMPTY);
} else {
result =
- ((opline->extended_value & ZEND_ISSET) == 0) ^
- Z_OBJ_HT_P(container)->has_property(container, offset, (opline->extended_value & ZEND_ISSET) == 0, ((IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value & ~ZEND_ISSET) : NULL));
+ (opline->extended_value & ZEND_ISEMPTY) ^
+ Z_OBJ_HT_P(container)->has_property(container, offset, (opline->extended_value & ZEND_ISEMPTY), ((IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value & ~ZEND_ISEMPTY) : NULL));
}
value = zend_find_array_dim_slow(ht, offset EXECUTE_DATA_CC);
}
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
/* > 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);
}
}
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
result = zend_isset_dim_slow(container, offset EXECUTE_DATA_CC);
} else {
result = zend_isempty_dim_slow(container, offset EXECUTE_DATA_CC);
if (UNEXPECTED(!Z_OBJ_HT_P(container)->has_property)) {
zend_wrong_property_check(offset);
isset_no_object:
- result = ((opline->extended_value & ZEND_ISSET) == 0);
+ result = (opline->extended_value & ZEND_ISEMPTY);
} else {
result =
- ((opline->extended_value & ZEND_ISSET) == 0) ^
- Z_OBJ_HT_P(container)->has_property(container, offset, (opline->extended_value & ZEND_ISSET) == 0, (((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value & ~ZEND_ISSET) : NULL));
+ (opline->extended_value & ZEND_ISEMPTY) ^
+ Z_OBJ_HT_P(container)->has_property(container, offset, (opline->extended_value & ZEND_ISEMPTY), (((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value & ~ZEND_ISEMPTY) : NULL));
}
zval_ptr_dtor_nogc(free_op2);
SAVE_OPLINE();
if (IS_VAR == IS_CONST) {
- if (IS_CV == IS_CONST && EXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISSET)) != NULL)) {
- value = CACHED_PTR((opline->extended_value & ~ZEND_ISSET) + sizeof(void*));
+ if (IS_CV == IS_CONST && EXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY)) != NULL)) {
+ value = CACHED_PTR((opline->extended_value & ~ZEND_ISEMPTY) + sizeof(void*));
goto is_static_prop_return;
- } else if (UNEXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISSET)) == NULL)) {
+ } else if (UNEXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY)) == NULL)) {
ce = zend_fetch_class_by_name(Z_STR_P(RT_CONSTANT(opline, opline->op2)), RT_CONSTANT(opline, opline->op2) + 1, ZEND_FETCH_CLASS_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
if (UNEXPECTED(ce == NULL)) {
ZEND_ASSERT(EG(exception));
HANDLE_EXCEPTION();
}
if (IS_CV != IS_CONST) {
- CACHE_PTR(opline->extended_value & ~ZEND_ISSET, ce);
+ CACHE_PTR(opline->extended_value & ~ZEND_ISEMPTY, ce);
}
}
} else {
ce = Z_CE_P(EX_VAR(opline->op2.var));
}
if (IS_CV == IS_CONST &&
- EXPECTED(CACHED_PTR(opline->extended_value & ~ZEND_ISSET) == ce)) {
+ EXPECTED(CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY) == ce)) {
- value = CACHED_PTR((opline->extended_value & ~ZEND_ISSET) + sizeof(void*));
+ value = CACHED_PTR((opline->extended_value & ~ZEND_ISEMPTY) + sizeof(void*));
goto is_static_prop_return;
}
}
value = zend_std_get_static_property(ce, name, 1);
if (IS_CV == IS_CONST && value) {
- CACHE_POLYMORPHIC_PTR(opline->extended_value & ~ZEND_ISSET, ce, value);
+ CACHE_POLYMORPHIC_PTR(opline->extended_value & ~ZEND_ISEMPTY, ce, value);
}
if (IS_CV != IS_CONST) {
}
is_static_prop_return:
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
result = value && Z_TYPE_P(value) > IS_NULL &&
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
} else {
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
}
-static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_EMPTY_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
+static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_SET_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
zval *value;
int result;
value = EX_VAR(opline->op1.var);
- if (0) {
+ if (!(0)) {
result =
Z_TYPE_P(value) > IS_NULL &&
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
ZEND_VM_CONTINUE();
}
-static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_SET_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
+static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_EMPTY_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
zval *value;
int result;
value = EX_VAR(opline->op1.var);
- if (1) {
+ if (!(1)) {
result =
Z_TYPE_P(value) > IS_NULL &&
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
}
target_symbol_table = zend_get_target_symbol_table(opline->extended_value EXECUTE_DATA_CC);
- value = zend_hash_find_ex_ind(target_symbol_table, name, IS_CV == IS_CONST);
+ value = zend_hash_find_ex(target_symbol_table, name, IS_CV == IS_CONST);
if (IS_CV != IS_CONST) {
zend_tmp_string_release(tmp_name);
}
- 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);
+ if (!value) {
+ result = (opline->extended_value & ZEND_ISEMPTY);
} else {
- result = !value || !i_zend_is_true(value);
+ if (Z_TYPE_P(value) == IS_INDIRECT) {
+ value = Z_INDIRECT_P(value);
+ }
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
+ if (Z_ISREF_P(value)) {
+ value = Z_REFVAL_P(value);
+ }
+ result = Z_TYPE_P(value) > IS_NULL;
+ } else {
+ result = !i_zend_is_true(value);
+ }
}
ZEND_VM_SMART_BRANCH(result, 1);
SAVE_OPLINE();
if (IS_UNUSED == IS_CONST) {
- if (IS_CV == IS_CONST && EXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISSET)) != NULL)) {
- value = CACHED_PTR((opline->extended_value & ~ZEND_ISSET) + sizeof(void*));
+ if (IS_CV == IS_CONST && EXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY)) != NULL)) {
+ value = CACHED_PTR((opline->extended_value & ~ZEND_ISEMPTY) + sizeof(void*));
goto is_static_prop_return;
- } else if (UNEXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISSET)) == NULL)) {
+ } else if (UNEXPECTED((ce = CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY)) == NULL)) {
ce = zend_fetch_class_by_name(Z_STR_P(RT_CONSTANT(opline, opline->op2)), RT_CONSTANT(opline, opline->op2) + 1, ZEND_FETCH_CLASS_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
if (UNEXPECTED(ce == NULL)) {
ZEND_ASSERT(EG(exception));
HANDLE_EXCEPTION();
}
if (IS_CV != IS_CONST) {
- CACHE_PTR(opline->extended_value & ~ZEND_ISSET, ce);
+ CACHE_PTR(opline->extended_value & ~ZEND_ISEMPTY, ce);
}
}
} else {
ce = Z_CE_P(EX_VAR(opline->op2.var));
}
if (IS_CV == IS_CONST &&
- EXPECTED(CACHED_PTR(opline->extended_value & ~ZEND_ISSET) == ce)) {
+ EXPECTED(CACHED_PTR(opline->extended_value & ~ZEND_ISEMPTY) == ce)) {
- value = CACHED_PTR((opline->extended_value & ~ZEND_ISSET) + sizeof(void*));
+ value = CACHED_PTR((opline->extended_value & ~ZEND_ISEMPTY) + sizeof(void*));
goto is_static_prop_return;
}
}
value = zend_std_get_static_property(ce, name, 1);
if (IS_CV == IS_CONST && value) {
- CACHE_POLYMORPHIC_PTR(opline->extended_value & ~ZEND_ISSET, ce, value);
+ CACHE_POLYMORPHIC_PTR(opline->extended_value & ~ZEND_ISEMPTY, ce, value);
}
if (IS_CV != IS_CONST) {
}
is_static_prop_return:
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
result = value && Z_TYPE_P(value) > IS_NULL &&
(!Z_ISREF_P(value) || Z_TYPE_P(Z_REFVAL_P(value)) != IS_NULL);
} else {
value = zend_find_array_dim_slow(ht, offset EXECUTE_DATA_CC);
}
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
/* > 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);
}
}
- if (opline->extended_value & ZEND_ISSET) {
+ if (!(opline->extended_value & ZEND_ISEMPTY)) {
result = zend_isset_dim_slow(container, offset EXECUTE_DATA_CC);
} else {
result = zend_isempty_dim_slow(container, offset EXECUTE_DATA_CC);
if (UNEXPECTED(!Z_OBJ_HT_P(container)->has_property)) {
zend_wrong_property_check(offset);
isset_no_object:
- result = ((opline->extended_value & ZEND_ISSET) == 0);
+ result = (opline->extended_value & ZEND_ISEMPTY);
} else {
result =
- ((opline->extended_value & ZEND_ISSET) == 0) ^
- Z_OBJ_HT_P(container)->has_property(container, offset, (opline->extended_value & ZEND_ISSET) == 0, ((IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value & ~ZEND_ISSET) : NULL));
+ (opline->extended_value & ZEND_ISEMPTY) ^
+ Z_OBJ_HT_P(container)->has_property(container, offset, (opline->extended_value & ZEND_ISEMPTY), ((IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value & ~ZEND_ISEMPTY) : NULL));
}
(void*)&&ZEND_FUNC_GET_ARGS_SPEC_UNUSED_UNUSED_LABEL,
(void*)&&ZEND_NULL_LABEL,
(void*)&&ZEND_UNSET_CV_SPEC_CV_UNUSED_LABEL,
- (void*)&&ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_EMPTY_LABEL,
(void*)&&ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_SET_LABEL,
+ (void*)&&ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_EMPTY_LABEL,
(void*)&&ZEND_NULL_LABEL,
(void*)&&ZEND_NULL_LABEL,
(void*)&&ZEND_NULL_LABEL,
VM_TRACE(ZEND_UNSET_STATIC_PROP_SPEC_CV_UNUSED)
ZEND_UNSET_STATIC_PROP_SPEC_CV_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
- HYBRID_CASE(ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_EMPTY):
- VM_TRACE(ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_EMPTY)
- ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_EMPTY_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
- HYBRID_BREAK();
HYBRID_CASE(ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_SET):
VM_TRACE(ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_SET)
ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_SET_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
+ HYBRID_CASE(ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_EMPTY):
+ VM_TRACE(ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_EMPTY)
+ ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_EMPTY_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
+ HYBRID_BREAK();
HYBRID_CASE(ZEND_ISSET_ISEMPTY_VAR_SPEC_CV_UNUSED):
VM_TRACE(ZEND_ISSET_ISEMPTY_VAR_SPEC_CV_UNUSED)
ZEND_ISSET_ISEMPTY_VAR_SPEC_CV_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
ZEND_FUNC_GET_ARGS_SPEC_UNUSED_UNUSED_HANDLER,
ZEND_NULL_HANDLER,
ZEND_UNSET_CV_SPEC_CV_UNUSED_HANDLER,
- ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_EMPTY_HANDLER,
ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_SET_HANDLER,
+ ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_EMPTY_HANDLER,
ZEND_NULL_HANDLER,
ZEND_NULL_HANDLER,
ZEND_NULL_HANDLER,
offset += 2;
}
}
- else if (spec & SPEC_RULE_ISSET) offset = offset * 2 + (op->extended_value & ZEND_ISSET);
+ else if (spec & SPEC_RULE_ISSET) offset = offset * 2 + (op->extended_value & ZEND_ISEMPTY);
}
return zend_opcode_handlers[(spec & SPEC_START_MASK) + offset];
}
offset += 2;
}
}
- else if (spec & SPEC_RULE_ISSET) offset = offset * 2 + (op->extended_value & ZEND_ISSET);
+ else if (spec & SPEC_RULE_ISSET) offset = offset * 2 + (op->extended_value & ZEND_ISEMPTY);
}
return zend_opcode_handler_funcs[(spec & SPEC_START_MASK) + offset];
}