if (OP1_TYPE == IS_CV) {
if (UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) {
- SAVE_OPLINE();
- GET_OP1_UNDEF_CV(op1, BP_VAR_R);
ZVAL_NULL(EX_VAR(opline->result.var));
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
+ } else {
+ ZVAL_MAKE_REF(op1);
+ ZVAL_COPY(EX_VAR(opline->result.var), op1);
}
- ZVAL_MAKE_REF(op1);
- ZVAL_COPY(EX_VAR(opline->result.var), op1);
} else if (EXPECTED(Z_TYPE_P(op1) == IS_INDIRECT)) {
op1 = Z_INDIRECT_P(op1);
if (EXPECTED(!Z_ISREF_P(op1))) {
if (IS_VAR == IS_CV) {
if (UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) {
- SAVE_OPLINE();
- GET_OP1_UNDEF_CV(op1, BP_VAR_R);
ZVAL_NULL(EX_VAR(opline->result.var));
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
+ } else {
+ ZVAL_MAKE_REF(op1);
+ ZVAL_COPY(EX_VAR(opline->result.var), op1);
}
- ZVAL_MAKE_REF(op1);
- ZVAL_COPY(EX_VAR(opline->result.var), op1);
} else if (EXPECTED(Z_TYPE_P(op1) == IS_INDIRECT)) {
op1 = Z_INDIRECT_P(op1);
if (EXPECTED(!Z_ISREF_P(op1))) {
if (IS_CV == IS_CV) {
if (UNEXPECTED(Z_TYPE_P(op1) == IS_UNDEF)) {
- SAVE_OPLINE();
- GET_OP1_UNDEF_CV(op1, BP_VAR_R);
ZVAL_NULL(EX_VAR(opline->result.var));
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
+ } else {
+ ZVAL_MAKE_REF(op1);
+ ZVAL_COPY(EX_VAR(opline->result.var), op1);
}
- ZVAL_MAKE_REF(op1);
- ZVAL_COPY(EX_VAR(opline->result.var), op1);
} else if (EXPECTED(Z_TYPE_P(op1) == IS_INDIRECT)) {
op1 = Z_INDIRECT_P(op1);
if (EXPECTED(!Z_ISREF_P(op1))) {