Skip to content

Commit 7805b85

Browse files
committed
apply suggestions from code review
1 parent e3a7ece commit 7805b85

2 files changed

Lines changed: 36 additions & 18 deletions

File tree

Zend/zend_vm_def.h

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4387,6 +4387,21 @@ ZEND_VM_COLD_CONST_HANDLER(124, ZEND_VERIFY_RETURN_TYPE, CONST|TMP|VAR|UNUSED|CV
43874387
ZVAL_DEREF(retval_ptr);
43884388
}
43894389

4390+
if (EXPECTED(ZEND_TYPE_CONTAINS_CODE(ret_info->type, Z_TYPE_P(retval_ref)))) {
4391+
ZEND_VM_NEXT_OPCODE();
4392+
}
4393+
4394+
if (OP1_TYPE == IS_CV && UNEXPECTED(Z_ISUNDEF_P(retval_ptr))) {
4395+
SAVE_OPLINE();
4396+
retval_ref = retval_ptr = ZVAL_UNDEFINED_OP1();
4397+
if (UNEXPECTED(EG(exception))) {
4398+
HANDLE_EXCEPTION();
4399+
}
4400+
if (ZEND_TYPE_FULL_MASK(ret_info->type) & MAY_BE_NULL) {
4401+
ZEND_VM_NEXT_OPCODE();
4402+
}
4403+
}
4404+
43904405
zend_reference *ref = NULL;
43914406
void *cache_slot = CACHE_ADDR(opline->op2.num);
43924407
if (UNEXPECTED(retval_ref != retval_ptr)) {
@@ -4402,19 +4417,7 @@ ZEND_VM_COLD_CONST_HANDLER(124, ZEND_VERIFY_RETURN_TYPE, CONST|TMP|VAR|UNUSED|CV
44024417
}
44034418
retval_ptr = retval_ref;
44044419
}
4405-
}
4406-
4407-
if (EXPECTED(ZEND_TYPE_CONTAINS_CODE(ret_info->type, Z_TYPE_P(retval_ptr)))) {
4408-
ZEND_VM_NEXT_OPCODE();
4409-
}
4410-
4411-
if (OP1_TYPE == IS_CV && UNEXPECTED(Z_ISUNDEF_P(retval_ptr))) {
4412-
SAVE_OPLINE();
4413-
retval_ref = retval_ptr = ZVAL_UNDEFINED_OP1();
4414-
if (UNEXPECTED(EG(exception))) {
4415-
HANDLE_EXCEPTION();
4416-
}
4417-
if (ZEND_TYPE_FULL_MASK(ret_info->type) & MAY_BE_NULL) {
4420+
if (EXPECTED(ZEND_TYPE_CONTAINS_CODE(ret_info->type, Z_TYPE_P(retval_ptr)))) {
44184421
ZEND_VM_NEXT_OPCODE();
44194422
}
44204423
}

Zend/zend_vm_execute.h

Lines changed: 20 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)