mirror of
https://github.com/php/php-src.git
synced 2024-09-29 05:46:06 +00:00
Cleanup condition in SEND_VAR_NO_REF
Was overly convoluted after the IS_VAR_RET_REF removal.
This commit is contained in:
parent
30c82321d7
commit
dd6c6b1c48
@ -4272,11 +4272,11 @@ ZEND_VM_HANDLER(106, ZEND_SEND_VAR_NO_REF, VAR, NUM, SEND)
|
||||
|
||||
varptr = GET_OP1_ZVAL_PTR(BP_VAR_R);
|
||||
|
||||
if ((!(opline->extended_value & ZEND_ARG_SEND_FUNCTION) ||
|
||||
Z_ISREF_P(varptr)) &&
|
||||
(Z_ISREF_P(varptr) || Z_TYPE_P(varptr) == IS_OBJECT)) {
|
||||
|
||||
ZVAL_MAKE_REF(varptr);
|
||||
if (Z_ISREF_P(varptr)) {
|
||||
/* nothing to do */
|
||||
} else if (!(opline->extended_value & ZEND_ARG_SEND_FUNCTION)
|
||||
&& Z_TYPE_P(varptr) == IS_OBJECT) {
|
||||
ZVAL_NEW_REF(varptr, varptr);
|
||||
} else {
|
||||
if ((opline->extended_value & ZEND_ARG_COMPILE_TIME_BOUND) ?
|
||||
!(opline->extended_value & ZEND_ARG_SEND_SILENT) :
|
||||
|
@ -15500,11 +15500,11 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SEND_VAR_NO_REF_SPEC_VAR_HANDL
|
||||
|
||||
varptr = _get_zval_ptr_var(opline->op1.var, execute_data, &free_op1);
|
||||
|
||||
if ((!(opline->extended_value & ZEND_ARG_SEND_FUNCTION) ||
|
||||
Z_ISREF_P(varptr)) &&
|
||||
(Z_ISREF_P(varptr) || Z_TYPE_P(varptr) == IS_OBJECT)) {
|
||||
|
||||
ZVAL_MAKE_REF(varptr);
|
||||
if (Z_ISREF_P(varptr)) {
|
||||
/* nothing to do */
|
||||
} else if (!(opline->extended_value & ZEND_ARG_SEND_FUNCTION)
|
||||
&& Z_TYPE_P(varptr) == IS_OBJECT) {
|
||||
ZVAL_NEW_REF(varptr, varptr);
|
||||
} else {
|
||||
if ((opline->extended_value & ZEND_ARG_COMPILE_TIME_BOUND) ?
|
||||
!(opline->extended_value & ZEND_ARG_SEND_SILENT) :
|
||||
|
Loading…
Reference in New Issue
Block a user