mirror of
https://github.com/php/php-src.git
synced 2024-11-24 10:24:11 +08:00
We don't have to check for undefined CV if we fetch it for isset() operation
This commit is contained in:
parent
079409bbc2
commit
d17487f827
@ -210,11 +210,6 @@ static zend_always_inline zval *_get_zval_cv_lookup_BP_VAR_UNSET(zval *ptr, uint
|
||||
return &EG(uninitialized_zval);
|
||||
}
|
||||
|
||||
static zend_always_inline zval *_get_zval_cv_lookup_BP_VAR_IS(zval *ptr, uint32_t var, const zend_execute_data *execute_data TSRMLS_DC)
|
||||
{
|
||||
return &EG(uninitialized_zval);
|
||||
}
|
||||
|
||||
static zend_always_inline zval *_get_zval_cv_lookup_BP_VAR_RW(zval *ptr, uint32_t var, const zend_execute_data *execute_data TSRMLS_DC)
|
||||
{
|
||||
zend_string *cv = CV_DEF_OF(EX_VAR_TO_NUM(var));
|
||||
@ -297,9 +292,6 @@ static zend_always_inline zval *_get_zval_ptr_cv_BP_VAR_IS(const zend_execute_da
|
||||
{
|
||||
zval *ret = EX_VAR(var);
|
||||
|
||||
if (Z_TYPE_P(ret) == IS_UNDEF) {
|
||||
return _get_zval_cv_lookup_BP_VAR_IS(ret, var, execute_data TSRMLS_CC);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -307,9 +299,6 @@ static zend_always_inline zval *_get_zval_ptr_cv_deref_BP_VAR_IS(const zend_exec
|
||||
{
|
||||
zval *ret = EX_VAR(var);
|
||||
|
||||
if (Z_TYPE_P(ret) == IS_UNDEF) {
|
||||
return _get_zval_cv_lookup_BP_VAR_IS(ret, var, execute_data TSRMLS_CC);
|
||||
}
|
||||
ZVAL_DEREF(ret);
|
||||
return ret;
|
||||
}
|
||||
|
@ -540,6 +540,7 @@ ZEND_API void _convert_to_cstring(zval *op ZEND_FILE_LINE_DC) /* {{{ */
|
||||
ZEND_API void _convert_to_string(zval *op ZEND_FILE_LINE_DC) /* {{{ */
|
||||
{
|
||||
switch (Z_TYPE_P(op)) {
|
||||
case IS_UNDEF:
|
||||
case IS_NULL:
|
||||
case IS_FALSE: {
|
||||
TSRMLS_FETCH();
|
||||
@ -822,6 +823,7 @@ ZEND_API zend_string *_zval_get_string_func(zval *op TSRMLS_DC) /* {{{ */
|
||||
{
|
||||
try_again:
|
||||
switch (Z_TYPE_P(op)) {
|
||||
case IS_UNDEF:
|
||||
case IS_NULL:
|
||||
case IS_FALSE:
|
||||
return STR_EMPTY_ALLOC();
|
||||
|
@ -1158,8 +1158,7 @@ ZEND_VM_HELPER_EX(zend_fetch_var_address_helper, CONST|TMP|VAR|CV, UNUSED|CONST|
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
@ -1179,8 +1178,7 @@ ZEND_VM_HELPER_EX(zend_fetch_var_address_helper, CONST|TMP|VAR|CV, UNUSED|CONST|
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
|
@ -3771,8 +3771,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CONST_CONST(int type
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
@ -3792,8 +3791,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CONST_CONST(int type
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
@ -6282,8 +6280,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CONST_VAR(int type,
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
@ -6303,8 +6300,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CONST_VAR(int type,
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
@ -7342,8 +7338,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CONST_UNUSED(int typ
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
@ -7363,8 +7358,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CONST_UNUSED(int typ
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
@ -10522,8 +10516,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_TMP_CONST(int type,
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
@ -10543,8 +10536,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_TMP_CONST(int type,
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
@ -12811,8 +12803,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_TMP_VAR(int type, ZE
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
@ -12832,8 +12823,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_TMP_VAR(int type, ZE
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
@ -13828,8 +13818,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_TMP_UNUSED(int type,
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
@ -13849,8 +13838,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_TMP_UNUSED(int type,
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
@ -17932,8 +17920,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_VAR_CONST(int type,
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
@ -17953,8 +17940,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_VAR_CONST(int type,
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
@ -22296,8 +22282,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_VAR_VAR(int type, ZE
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
@ -22317,8 +22302,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_VAR_VAR(int type, ZE
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
@ -24193,8 +24177,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_VAR_UNUSED(int type,
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
@ -24214,8 +24197,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_VAR_UNUSED(int type,
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
@ -35131,8 +35113,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CV_CONST(int type, Z
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
@ -35152,8 +35133,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CV_CONST(int type, Z
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
@ -39190,8 +39170,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CV_VAR(int type, ZEN
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
@ -39211,8 +39190,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CV_VAR(int type, ZEN
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
@ -40967,8 +40945,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CV_UNUSED(int type,
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
@ -40988,8 +40965,7 @@ static int ZEND_FASTCALL zend_fetch_var_address_helper_SPEC_CV_UNUSED(int type,
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
/* break missing intentionally */
|
||||
case BP_VAR_IS:
|
||||
retval = EX_VAR(opline->result.var);
|
||||
ZVAL_NULL(retval);
|
||||
retval = &EG(uninitialized_zval);
|
||||
break;
|
||||
case BP_VAR_RW:
|
||||
zend_error(E_NOTICE,"Undefined variable: %s", name->val);
|
||||
|
Loading…
Reference in New Issue
Block a user