Avoid redundand mask extraction

This commit is contained in:
Dmitry Stogov 2018-01-31 13:34:34 +03:00
parent e43ac26356
commit 1d7eab12e6
3 changed files with 50 additions and 52 deletions

View File

@ -2368,14 +2368,12 @@ ZEND_API void zend_init_execute_data(zend_execute_data *execute_data, zend_op_ar
}
/* }}} */
static zend_always_inline zend_bool zend_is_by_ref_func_arg_fetch(const zend_op *opline, zend_execute_data *call) /* {{{ */
static zend_always_inline zend_bool zend_is_by_ref_func_arg_fetch(uint32_t arg_num, zend_function *func) /* {{{ */
{
uint32_t arg_num = opline->extended_value & ZEND_FETCH_ARG_MASK;
if (EXPECTED(arg_num <= MAX_ARG_FLAG_NUM)) {
return QUICK_ARG_SHOULD_BE_SENT_BY_REF(call->func, arg_num);
return QUICK_ARG_SHOULD_BE_SENT_BY_REF(func, arg_num);
}
return ARG_SHOULD_BE_SENT_BY_REF(call->func, arg_num);
return ARG_SHOULD_BE_SENT_BY_REF(func, arg_num);
}
/* }}} */

View File

@ -1486,7 +1486,7 @@ ZEND_VM_HANDLER(92, ZEND_FETCH_FUNC_ARG, CONST|TMPVAR|CV, UNUSED, VAR_FETCH|ARG_
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value & ZEND_FETCH_ARG_MASK, EX(call)->func)) {
ZEND_VM_DISPATCH_TO_HELPER(zend_fetch_var_address_helper, type, BP_VAR_W);
} else {
ZEND_VM_DISPATCH_TO_HELPER(zend_fetch_var_address_helper, type, BP_VAR_R);
@ -1555,7 +1555,7 @@ ZEND_VM_HANDLER(177, ZEND_FETCH_STATIC_PROP_FUNC_ARG, CONST|TMPVAR|CV, UNUSED|CL
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
ZEND_VM_DISPATCH_TO_HELPER(zend_fetch_static_prop_helper, type, BP_VAR_W);
} else {
ZEND_VM_DISPATCH_TO_HELPER(zend_fetch_static_prop_helper, type, BP_VAR_R);
@ -1660,7 +1660,7 @@ ZEND_VM_HANDLER(93, ZEND_FETCH_DIM_FUNC_ARG, CONST|TMP|VAR|CV, CONST|TMPVAR|UNUS
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
if ((OP1_TYPE & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
zend_throw_error(NULL, "Cannot use temporary expression in write context");
@ -1947,7 +1947,7 @@ ZEND_VM_HANDLER(94, ZEND_FETCH_OBJ_FUNC_ARG, CONST|TMP|VAR|UNUSED|THIS|CV, CONST
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
/* Behave like FETCH_OBJ_W */
if ((OP1_TYPE & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();

View File

@ -4844,7 +4844,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPE
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
ZEND_VM_TAIL_CALL(zend_fetch_static_prop_helper_SPEC_CONST_CONST(BP_VAR_W ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
} else {
ZEND_VM_TAIL_CALL(zend_fetch_static_prop_helper_SPEC_CONST_CONST(BP_VAR_R ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
@ -4915,7 +4915,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_FUNC_ARG_SPEC_CONST_
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
if ((IS_CONST & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
zend_throw_error(NULL, "Cannot use temporary expression in write context");
@ -5138,7 +5138,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CONST_
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
/* Behave like FETCH_OBJ_W */
if ((IS_CONST & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
@ -7122,7 +7122,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_FUNC_ARG_SPEC_CONST_
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
if ((IS_CONST & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
zend_throw_error(NULL, "Cannot use temporary expression in write context");
@ -7347,7 +7347,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CONST_
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
/* Behave like FETCH_OBJ_W */
if ((IS_CONST & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
@ -8378,7 +8378,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPE
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
ZEND_VM_TAIL_CALL(zend_fetch_static_prop_helper_SPEC_CONST_VAR(BP_VAR_W ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
} else {
ZEND_VM_TAIL_CALL(zend_fetch_static_prop_helper_SPEC_CONST_VAR(BP_VAR_R ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
@ -8830,7 +8830,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_FUNC_ARG_SPEC_CONST_UNUS
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value & ZEND_FETCH_ARG_MASK, EX(call)->func)) {
ZEND_VM_TAIL_CALL(zend_fetch_var_address_helper_SPEC_CONST_UNUSED(BP_VAR_W ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
} else {
ZEND_VM_TAIL_CALL(zend_fetch_var_address_helper_SPEC_CONST_UNUSED(BP_VAR_R ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
@ -8897,7 +8897,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPE
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
ZEND_VM_TAIL_CALL(zend_fetch_static_prop_helper_SPEC_CONST_UNUSED(BP_VAR_W ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
} else {
ZEND_VM_TAIL_CALL(zend_fetch_static_prop_helper_SPEC_CONST_UNUSED(BP_VAR_R ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
@ -8918,7 +8918,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_FUNC_ARG_SPEC_CONST_
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
if ((IS_CONST & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
zend_throw_error(NULL, "Cannot use temporary expression in write context");
@ -10261,7 +10261,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_FUNC_ARG_SPEC_CONST_
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
if ((IS_CONST & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
zend_throw_error(NULL, "Cannot use temporary expression in write context");
@ -10484,7 +10484,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CONST_
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
/* Behave like FETCH_OBJ_W */
if ((IS_CONST & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
@ -14011,7 +14011,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPE
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
ZEND_VM_TAIL_CALL(zend_fetch_static_prop_helper_SPEC_TMPVAR_CONST(BP_VAR_W ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
} else {
ZEND_VM_TAIL_CALL(zend_fetch_static_prop_helper_SPEC_TMPVAR_CONST(BP_VAR_R ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
@ -16459,7 +16459,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPE
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
ZEND_VM_TAIL_CALL(zend_fetch_static_prop_helper_SPEC_TMPVAR_VAR(BP_VAR_W ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
} else {
ZEND_VM_TAIL_CALL(zend_fetch_static_prop_helper_SPEC_TMPVAR_VAR(BP_VAR_R ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
@ -16820,7 +16820,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_FUNC_ARG_SPEC_TMPVAR_UNU
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value & ZEND_FETCH_ARG_MASK, EX(call)->func)) {
ZEND_VM_TAIL_CALL(zend_fetch_var_address_helper_SPEC_TMPVAR_UNUSED(BP_VAR_W ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
} else {
ZEND_VM_TAIL_CALL(zend_fetch_var_address_helper_SPEC_TMPVAR_UNUSED(BP_VAR_R ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
@ -16889,7 +16889,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPE
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
ZEND_VM_TAIL_CALL(zend_fetch_static_prop_helper_SPEC_TMPVAR_UNUSED(BP_VAR_W ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
} else {
ZEND_VM_TAIL_CALL(zend_fetch_static_prop_helper_SPEC_TMPVAR_UNUSED(BP_VAR_R ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
@ -19274,7 +19274,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_FUNC_ARG_SPEC_TMP_CO
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
if ((IS_TMP_VAR & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
zend_throw_error(NULL, "Cannot use temporary expression in write context");
@ -19301,7 +19301,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_FUNC_ARG_SPEC_TMP_CO
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
/* Behave like FETCH_OBJ_W */
if ((IS_TMP_VAR & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
@ -19711,7 +19711,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_FUNC_ARG_SPEC_TMP_TM
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
if ((IS_TMP_VAR & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
zend_throw_error(NULL, "Cannot use temporary expression in write context");
@ -19738,7 +19738,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_FUNC_ARG_SPEC_TMP_TM
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
/* Behave like FETCH_OBJ_W */
if ((IS_TMP_VAR & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
@ -20285,7 +20285,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_FUNC_ARG_SPEC_TMP_UN
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
if ((IS_TMP_VAR & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
zend_throw_error(NULL, "Cannot use temporary expression in write context");
@ -20714,7 +20714,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_FUNC_ARG_SPEC_TMP_CV
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
if ((IS_TMP_VAR & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
zend_throw_error(NULL, "Cannot use temporary expression in write context");
@ -20741,7 +20741,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_FUNC_ARG_SPEC_TMP_CV
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
/* Behave like FETCH_OBJ_W */
if ((IS_TMP_VAR & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
@ -23576,7 +23576,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_FUNC_ARG_SPEC_VAR_CO
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
if ((IS_VAR & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
zend_throw_error(NULL, "Cannot use temporary expression in write context");
@ -23665,7 +23665,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_FUNC_ARG_SPEC_VAR_CO
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
/* Behave like FETCH_OBJ_W */
if ((IS_VAR & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
@ -26008,7 +26008,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_FUNC_ARG_SPEC_VAR_TM
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
if ((IS_VAR & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
zend_throw_error(NULL, "Cannot use temporary expression in write context");
@ -26097,7 +26097,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_FUNC_ARG_SPEC_VAR_TM
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
/* Behave like FETCH_OBJ_W */
if ((IS_VAR & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
@ -28258,7 +28258,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_FUNC_ARG_SPEC_VAR_UN
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
if ((IS_VAR & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
zend_throw_error(NULL, "Cannot use temporary expression in write context");
@ -29851,7 +29851,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_FUNC_ARG_SPEC_VAR_CV
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
if ((IS_VAR & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
zend_throw_error(NULL, "Cannot use temporary expression in write context");
@ -29940,7 +29940,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_FUNC_ARG_SPEC_VAR_CV
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
/* Behave like FETCH_OBJ_W */
if ((IS_VAR & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
@ -32433,7 +32433,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_FUNC_ARG_SPEC_UNUSED
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
/* Behave like FETCH_OBJ_W */
if ((IS_UNUSED & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
@ -34258,7 +34258,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_FUNC_ARG_SPEC_UNUSED
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
/* Behave like FETCH_OBJ_W */
if ((IS_UNUSED & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
@ -36613,7 +36613,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_FUNC_ARG_SPEC_UNUSED
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
/* Behave like FETCH_OBJ_W */
if ((IS_UNUSED & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
@ -40851,7 +40851,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPE
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
ZEND_VM_TAIL_CALL(zend_fetch_static_prop_helper_SPEC_CV_CONST(BP_VAR_W ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
} else {
ZEND_VM_TAIL_CALL(zend_fetch_static_prop_helper_SPEC_CV_CONST(BP_VAR_R ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
@ -40956,7 +40956,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_CON
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
if ((IS_CV & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
zend_throw_error(NULL, "Cannot use temporary expression in write context");
@ -41241,7 +41241,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CV_CON
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
/* Behave like FETCH_OBJ_W */
if ((IS_CV & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
@ -44842,7 +44842,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_TMP
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
if ((IS_CV & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
zend_throw_error(NULL, "Cannot use temporary expression in write context");
@ -45129,7 +45129,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CV_TMP
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
/* Behave like FETCH_OBJ_W */
if ((IS_CV & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
@ -47187,7 +47187,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPE
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
ZEND_VM_TAIL_CALL(zend_fetch_static_prop_helper_SPEC_CV_VAR(BP_VAR_W ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
} else {
ZEND_VM_TAIL_CALL(zend_fetch_static_prop_helper_SPEC_CV_VAR(BP_VAR_R ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
@ -47968,7 +47968,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_FUNC_ARG_SPEC_CV_UNUSED_
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value & ZEND_FETCH_ARG_MASK, EX(call)->func)) {
ZEND_VM_TAIL_CALL(zend_fetch_var_address_helper_SPEC_CV_UNUSED(BP_VAR_W ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
} else {
ZEND_VM_TAIL_CALL(zend_fetch_var_address_helper_SPEC_CV_UNUSED(BP_VAR_R ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
@ -48035,7 +48035,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPE
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
ZEND_VM_TAIL_CALL(zend_fetch_static_prop_helper_SPEC_CV_UNUSED(BP_VAR_W ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
} else {
ZEND_VM_TAIL_CALL(zend_fetch_static_prop_helper_SPEC_CV_UNUSED(BP_VAR_R ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC));
@ -48090,7 +48090,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_UNU
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
if ((IS_CV & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
zend_throw_error(NULL, "Cannot use temporary expression in write context");
@ -50573,7 +50573,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_FUNC_ARG_SPEC_CV_CV_
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
if ((IS_CV & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();
zend_throw_error(NULL, "Cannot use temporary expression in write context");
@ -50858,7 +50858,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_FUNC_ARG_SPEC_CV_CV_
{
USE_OPLINE
if (zend_is_by_ref_func_arg_fetch(opline, EX(call))) {
if (zend_is_by_ref_func_arg_fetch(opline->extended_value, EX(call)->func)) {
/* Behave like FETCH_OBJ_W */
if ((IS_CV & (IS_CONST|IS_TMP_VAR))) {
SAVE_OPLINE();