Skip to content

Commit 8c63d69

Browse files
committed
Merge branch 'master' of https://git.php.net/repository/php-src
2 parents 465d032 + 51aa1b5 commit 8c63d69

File tree

2 files changed

+27
-21
lines changed

2 files changed

+27
-21
lines changed

Zend/zend_vm_def.h

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4167,15 +4167,16 @@ ZEND_VM_HANDLER(116, ZEND_SEND_VAL_EX, CONST|TMP, ANY)
41674167
USE_OPLINE
41684168
zval *value, *arg;
41694169
zend_free_op free_op1;
4170+
uint32_t arg_num = opline->op2.num;
41704171

4171-
if (EXPECTED(opline->op2.num <= MAX_ARG_FLAG_NUM)) {
4172-
if (QUICK_ARG_MUST_BE_SENT_BY_REF(EX(call)->func, opline->op2.num)) {
4172+
if (EXPECTED(arg_num <= MAX_ARG_FLAG_NUM)) {
4173+
if (QUICK_ARG_MUST_BE_SENT_BY_REF(EX(call)->func, arg_num)) {
41734174
ZEND_VM_C_GOTO(send_val_by_ref);
41744175
}
4175-
} else if (ARG_MUST_BE_SENT_BY_REF(EX(call)->func, opline->op2.num)) {
4176+
} else if (ARG_MUST_BE_SENT_BY_REF(EX(call)->func, arg_num)) {
41764177
ZEND_VM_C_LABEL(send_val_by_ref):
41774178
SAVE_OPLINE();
4178-
zend_throw_error(NULL, "Cannot pass parameter %d by reference", opline->op2.num);
4179+
zend_throw_error(NULL, "Cannot pass parameter %d by reference", arg_num);
41794180
FREE_UNFETCHED_OP1();
41804181
arg = ZEND_CALL_VAR(EX(call), opline->result.var);
41814182
ZVAL_UNDEF(arg);
@@ -4308,12 +4309,13 @@ ZEND_VM_HANDLER(66, ZEND_SEND_VAR_EX, VAR|CV, ANY)
43084309
USE_OPLINE
43094310
zval *varptr, *arg;
43104311
zend_free_op free_op1;
4312+
uint32_t arg_num = opline->op2.num;
43114313

4312-
if (EXPECTED(opline->op2.num <= MAX_ARG_FLAG_NUM)) {
4313-
if (QUICK_ARG_SHOULD_BE_SENT_BY_REF(EX(call)->func, opline->op2.num)) {
4314+
if (EXPECTED(arg_num <= MAX_ARG_FLAG_NUM)) {
4315+
if (QUICK_ARG_SHOULD_BE_SENT_BY_REF(EX(call)->func, arg_num)) {
43144316
ZEND_VM_C_GOTO(send_var_by_ref);
43154317
}
4316-
} else if (ARG_SHOULD_BE_SENT_BY_REF(EX(call)->func, opline->op2.num)) {
4318+
} else if (ARG_SHOULD_BE_SENT_BY_REF(EX(call)->func, arg_num)) {
43174319
ZEND_VM_C_LABEL(send_var_by_ref):
43184320
ZEND_VM_DISPATCH_TO_HANDLER(ZEND_SEND_REF);
43194321
}

Zend/zend_vm_execute.h

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3278,15 +3278,16 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SEND_VAL_EX_SPEC_CONST_HANDLER
32783278
USE_OPLINE
32793279
zval *value, *arg;
32803280

3281+
uint32_t arg_num = opline->op2.num;
32813282

3282-
if (EXPECTED(opline->op2.num <= MAX_ARG_FLAG_NUM)) {
3283-
if (QUICK_ARG_MUST_BE_SENT_BY_REF(EX(call)->func, opline->op2.num)) {
3283+
if (EXPECTED(arg_num <= MAX_ARG_FLAG_NUM)) {
3284+
if (QUICK_ARG_MUST_BE_SENT_BY_REF(EX(call)->func, arg_num)) {
32843285
goto send_val_by_ref;
32853286
}
3286-
} else if (ARG_MUST_BE_SENT_BY_REF(EX(call)->func, opline->op2.num)) {
3287+
} else if (ARG_MUST_BE_SENT_BY_REF(EX(call)->func, arg_num)) {
32873288
send_val_by_ref:
32883289
SAVE_OPLINE();
3289-
zend_throw_error(NULL, "Cannot pass parameter %d by reference", opline->op2.num);
3290+
zend_throw_error(NULL, "Cannot pass parameter %d by reference", arg_num);
32903291

32913292
arg = ZEND_CALL_VAR(EX(call), opline->result.var);
32923293
ZVAL_UNDEF(arg);
@@ -11901,15 +11902,16 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SEND_VAL_EX_SPEC_TMP_HANDLER(Z
1190111902
USE_OPLINE
1190211903
zval *value, *arg;
1190311904
zend_free_op free_op1;
11905+
uint32_t arg_num = opline->op2.num;
1190411906

11905-
if (EXPECTED(opline->op2.num <= MAX_ARG_FLAG_NUM)) {
11906-
if (QUICK_ARG_MUST_BE_SENT_BY_REF(EX(call)->func, opline->op2.num)) {
11907+
if (EXPECTED(arg_num <= MAX_ARG_FLAG_NUM)) {
11908+
if (QUICK_ARG_MUST_BE_SENT_BY_REF(EX(call)->func, arg_num)) {
1190711909
goto send_val_by_ref;
1190811910
}
11909-
} else if (ARG_MUST_BE_SENT_BY_REF(EX(call)->func, opline->op2.num)) {
11911+
} else if (ARG_MUST_BE_SENT_BY_REF(EX(call)->func, arg_num)) {
1191011912
send_val_by_ref:
1191111913
SAVE_OPLINE();
11912-
zend_throw_error(NULL, "Cannot pass parameter %d by reference", opline->op2.num);
11914+
zend_throw_error(NULL, "Cannot pass parameter %d by reference", arg_num);
1191311915
zval_ptr_dtor_nogc(EX_VAR(opline->op1.var));
1191411916
arg = ZEND_CALL_VAR(EX(call), opline->result.var);
1191511917
ZVAL_UNDEF(arg);
@@ -15237,12 +15239,13 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SEND_VAR_EX_SPEC_VAR_HANDLER(Z
1523715239
USE_OPLINE
1523815240
zval *varptr, *arg;
1523915241
zend_free_op free_op1;
15242+
uint32_t arg_num = opline->op2.num;
1524015243

15241-
if (EXPECTED(opline->op2.num <= MAX_ARG_FLAG_NUM)) {
15242-
if (QUICK_ARG_SHOULD_BE_SENT_BY_REF(EX(call)->func, opline->op2.num)) {
15244+
if (EXPECTED(arg_num <= MAX_ARG_FLAG_NUM)) {
15245+
if (QUICK_ARG_SHOULD_BE_SENT_BY_REF(EX(call)->func, arg_num)) {
1524315246
goto send_var_by_ref;
1524415247
}
15245-
} else if (ARG_SHOULD_BE_SENT_BY_REF(EX(call)->func, opline->op2.num)) {
15248+
} else if (ARG_SHOULD_BE_SENT_BY_REF(EX(call)->func, arg_num)) {
1524615249
send_var_by_ref:
1524715250
ZEND_VM_TAIL_CALL(ZEND_SEND_REF_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU));
1524815251
}
@@ -28616,12 +28619,13 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SEND_VAR_EX_SPEC_CV_HANDLER(ZE
2861628619
USE_OPLINE
2861728620
zval *varptr, *arg;
2861828621

28622+
uint32_t arg_num = opline->op2.num;
2861928623

28620-
if (EXPECTED(opline->op2.num <= MAX_ARG_FLAG_NUM)) {
28621-
if (QUICK_ARG_SHOULD_BE_SENT_BY_REF(EX(call)->func, opline->op2.num)) {
28624+
if (EXPECTED(arg_num <= MAX_ARG_FLAG_NUM)) {
28625+
if (QUICK_ARG_SHOULD_BE_SENT_BY_REF(EX(call)->func, arg_num)) {
2862228626
goto send_var_by_ref;
2862328627
}
28624-
} else if (ARG_SHOULD_BE_SENT_BY_REF(EX(call)->func, opline->op2.num)) {
28628+
} else if (ARG_SHOULD_BE_SENT_BY_REF(EX(call)->func, arg_num)) {
2862528629
send_var_by_ref:
2862628630
ZEND_VM_TAIL_CALL(ZEND_SEND_REF_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU));
2862728631
}

0 commit comments

Comments
 (0)