Skip to content

Commit a6a9611

Browse files
committed
micro-optimization
1 parent 02b645e commit a6a9611

File tree

2 files changed

+12
-18
lines changed

2 files changed

+12
-18
lines changed

Zend/zend_vm_def.h

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3729,12 +3729,8 @@ ZEND_VM_C_LABEL(try_function_name):
37293729
call = NULL;
37303730
}
37313731

3732-
FREE_OP2();
3733-
if (UNEXPECTED(!call)) {
3734-
HANDLE_EXCEPTION();
3735-
}
3736-
37373732
if (OP2_TYPE & (IS_VAR|IS_TMP_VAR)) {
3733+
FREE_OP2();
37383734
if (UNEXPECTED(EG(exception))) {
37393735
if (call) {
37403736
if (call->func->common.fn_flags & ZEND_ACC_CALL_VIA_TRAMPOLINE) {
@@ -3745,6 +3741,8 @@ ZEND_VM_C_LABEL(try_function_name):
37453741
}
37463742
HANDLE_EXCEPTION();
37473743
}
3744+
} else if (!call) {
3745+
HANDLE_EXCEPTION();
37483746
}
37493747

37503748
call->prev_execute_data = EX(call);

Zend/zend_vm_execute.h

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3676,11 +3676,8 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_DYNAMIC_CALL_SPEC_CONST_H
36763676
call = NULL;
36773677
}
36783678

3679-
if (UNEXPECTED(!call)) {
3680-
HANDLE_EXCEPTION();
3681-
}
3682-
36833679
if (IS_CONST & (IS_VAR|IS_TMP_VAR)) {
3680+
36843681
if (UNEXPECTED(EG(exception))) {
36853682
if (call) {
36863683
if (call->func->common.fn_flags & ZEND_ACC_CALL_VIA_TRAMPOLINE) {
@@ -3691,6 +3688,8 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_DYNAMIC_CALL_SPEC_CONST_H
36913688
}
36923689
HANDLE_EXCEPTION();
36933690
}
3691+
} else if (!call) {
3692+
HANDLE_EXCEPTION();
36943693
}
36953694

36963695
call->prev_execute_data = EX(call);
@@ -3843,12 +3842,8 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_DYNAMIC_CALL_SPEC_TMPVAR_
38433842
call = NULL;
38443843
}
38453844

3846-
zval_ptr_dtor_nogc(EX_VAR(opline->op2.var));
3847-
if (UNEXPECTED(!call)) {
3848-
HANDLE_EXCEPTION();
3849-
}
3850-
38513845
if ((IS_TMP_VAR|IS_VAR) & (IS_VAR|IS_TMP_VAR)) {
3846+
zval_ptr_dtor_nogc(EX_VAR(opline->op2.var));
38523847
if (UNEXPECTED(EG(exception))) {
38533848
if (call) {
38543849
if (call->func->common.fn_flags & ZEND_ACC_CALL_VIA_TRAMPOLINE) {
@@ -3859,6 +3854,8 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_DYNAMIC_CALL_SPEC_TMPVAR_
38593854
}
38603855
HANDLE_EXCEPTION();
38613856
}
3857+
} else if (!call) {
3858+
HANDLE_EXCEPTION();
38623859
}
38633860

38643861
call->prev_execute_data = EX(call);
@@ -3989,11 +3986,8 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_DYNAMIC_CALL_SPEC_CV_HAND
39893986
call = NULL;
39903987
}
39913988

3992-
if (UNEXPECTED(!call)) {
3993-
HANDLE_EXCEPTION();
3994-
}
3995-
39963989
if (IS_CV & (IS_VAR|IS_TMP_VAR)) {
3990+
39973991
if (UNEXPECTED(EG(exception))) {
39983992
if (call) {
39993993
if (call->func->common.fn_flags & ZEND_ACC_CALL_VIA_TRAMPOLINE) {
@@ -4004,6 +3998,8 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_DYNAMIC_CALL_SPEC_CV_HAND
40043998
}
40053999
HANDLE_EXCEPTION();
40064000
}
4001+
} else if (!call) {
4002+
HANDLE_EXCEPTION();
40074003
}
40084004

40094005
call->prev_execute_data = EX(call);

0 commit comments

Comments
 (0)