@@ -1837,17 +1837,14 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_GENERATOR_CREATE_SPEC_HANDLER(
1837
1837
}
1838
1838
}
1839
1839
1840
- static zend_never_inline ZEND_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_cannot_pass_by_ref_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS )
1840
+ static zend_never_inline ZEND_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_cannot_pass_by_ref_helper_SPEC(uint32_t _arg_num, zval *_arg ZEND_OPCODE_HANDLER_ARGS_DC )
1841
1841
{
1842
1842
USE_OPLINE
1843
- zval *arg;
1844
- uint32_t arg_num = opline->op2.num;
1845
1843
1846
1844
SAVE_OPLINE();
1847
- zend_throw_error(NULL, "Cannot pass parameter %d by reference", arg_num );
1845
+ zend_throw_error(NULL, "Cannot pass parameter %d by reference", _arg_num );
1848
1846
FREE_OP(opline->op1_type, opline->op1.var);
1849
- arg = ZEND_CALL_VAR(EX(call), opline->result.var);
1850
- ZVAL_UNDEF(arg);
1847
+ ZVAL_UNDEF(_arg);
1851
1848
HANDLE_EXCEPTION();
1852
1849
}
1853
1850
@@ -4727,11 +4724,11 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SEND_VAL_EX_SIMPLE
4727
4724
zval *value, *arg;
4728
4725
uint32_t arg_num = opline->op2.num;
4729
4726
4727
+ arg = ZEND_CALL_VAR(EX(call), opline->result.var);
4730
4728
if (QUICK_ARG_MUST_BE_SENT_BY_REF(EX(call)->func, arg_num)) {
4731
- ZEND_VM_TAIL_CALL(zend_cannot_pass_by_ref_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU ));
4729
+ ZEND_VM_TAIL_CALL(zend_cannot_pass_by_ref_helper_SPEC(arg_num, arg ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC ));
4732
4730
}
4733
4731
value = RT_CONSTANT(opline, opline->op1);
4734
- arg = ZEND_CALL_VAR(EX(call), opline->result.var);
4735
4732
ZVAL_COPY_VALUE(arg, value);
4736
4733
ZEND_VM_NEXT_OPCODE();
4737
4734
}
@@ -6115,7 +6112,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SEND_VAL_EX_SPEC_CONST_CONST_H
6115
6112
}
6116
6113
} else if (ARG_MUST_BE_SENT_BY_REF(EX(call)->func, arg_num)) {
6117
6114
send_val_by_ref:
6118
- ZEND_VM_TAIL_CALL(zend_cannot_pass_by_ref_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU ));
6115
+ ZEND_VM_TAIL_CALL(zend_cannot_pass_by_ref_helper_SPEC(arg_num, arg ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC ));
6119
6116
}
6120
6117
value = RT_CONSTANT(opline, opline->op1);
6121
6118
ZVAL_COPY_VALUE(arg, value);
@@ -9151,7 +9148,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SEND_VAL_EX_SPEC_CONST_UNUSED_
9151
9148
}
9152
9149
} else if (ARG_MUST_BE_SENT_BY_REF(EX(call)->func, arg_num)) {
9153
9150
send_val_by_ref:
9154
- ZEND_VM_TAIL_CALL(zend_cannot_pass_by_ref_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU ));
9151
+ ZEND_VM_TAIL_CALL(zend_cannot_pass_by_ref_helper_SPEC(arg_num, arg ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC ));
9155
9152
}
9156
9153
value = RT_CONSTANT(opline, opline->op1);
9157
9154
ZVAL_COPY_VALUE(arg, value);
@@ -9188,7 +9185,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SEND_VAL_EX_SPEC_C
9188
9185
}
9189
9186
} else if (ARG_MUST_BE_SENT_BY_REF(EX(call)->func, arg_num)) {
9190
9187
send_val_by_ref:
9191
- ZEND_VM_TAIL_CALL(zend_cannot_pass_by_ref_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU ));
9188
+ ZEND_VM_TAIL_CALL(zend_cannot_pass_by_ref_helper_SPEC(arg_num, arg ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC ));
9192
9189
}
9193
9190
value = RT_CONSTANT(opline, opline->op1);
9194
9191
ZVAL_COPY_VALUE(arg, value);
@@ -18631,7 +18628,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SEND_VAL_EX_SPEC_TMP_CONST_HAN
18631
18628
}
18632
18629
} else if (ARG_MUST_BE_SENT_BY_REF(EX(call)->func, arg_num)) {
18633
18630
send_val_by_ref:
18634
- ZEND_VM_TAIL_CALL(zend_cannot_pass_by_ref_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU ));
18631
+ ZEND_VM_TAIL_CALL(zend_cannot_pass_by_ref_helper_SPEC(arg_num, arg ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC ));
18635
18632
}
18636
18633
value = _get_zval_ptr_tmp(opline->op1.var EXECUTE_DATA_CC);
18637
18634
ZVAL_COPY_VALUE(arg, value);
@@ -19455,7 +19452,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SEND_VAL_EX_SPEC_TMP_UNUSED_HA
19455
19452
}
19456
19453
} else if (ARG_MUST_BE_SENT_BY_REF(EX(call)->func, arg_num)) {
19457
19454
send_val_by_ref:
19458
- ZEND_VM_TAIL_CALL(zend_cannot_pass_by_ref_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU ));
19455
+ ZEND_VM_TAIL_CALL(zend_cannot_pass_by_ref_helper_SPEC(arg_num, arg ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC ));
19459
19456
}
19460
19457
value = _get_zval_ptr_tmp(opline->op1.var EXECUTE_DATA_CC);
19461
19458
ZVAL_COPY_VALUE(arg, value);
@@ -19492,7 +19489,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SEND_VAL_EX_SPEC_T
19492
19489
}
19493
19490
} else if (ARG_MUST_BE_SENT_BY_REF(EX(call)->func, arg_num)) {
19494
19491
send_val_by_ref:
19495
- ZEND_VM_TAIL_CALL(zend_cannot_pass_by_ref_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU ));
19492
+ ZEND_VM_TAIL_CALL(zend_cannot_pass_by_ref_helper_SPEC(arg_num, arg ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC ));
19496
19493
}
19497
19494
value = _get_zval_ptr_tmp(opline->op1.var EXECUTE_DATA_CC);
19498
19495
ZVAL_COPY_VALUE(arg, value);
0 commit comments