Cleanup condition in SEND_VAR_NO_REF

Was overly convoluted after the IS_VAR_RET_REF removal.
This commit is contained in:
Nikita Popov 2016-04-16 14:32:48 +02:00
parent 30c82321d7
commit dd6c6b1c48
2 changed files with 10 additions and 10 deletions

View File

@ -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) :

View File

@ -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) :