Skip to content

Commit 97756d9

Browse files
committed
Ready for PR
1 parent 74f9930 commit 97756d9

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

Zend/zend_vm_def.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7598,6 +7598,7 @@ ZEND_VM_HANDLER(158, ZEND_PROXY_CALL, ANY, ANY)
75987598

75997599
zend_free_proxy_call_func(fbc);
76007600

7601+
/* the previously call to current execute_data already check zend_execute_ex */
76017602
ZEND_VM_ENTER();
76027603
} else {
76037604
zval retval;
@@ -7614,7 +7615,12 @@ ZEND_VM_HANDLER(158, ZEND_PROXY_CALL, ANY, ANY)
76147615

76157616
EG(current_execute_data) = call;
76167617

7617-
call->func->internal_function.handler(call, ret);
7618+
if (!zend_execute_internal) {
7619+
/* saves one function call if zend_execute_internal is not used */
7620+
fbc->internal_function.handler(call, ret);
7621+
} else {
7622+
zend_execute_internal(call, ret);
7623+
}
76187624

76197625
execute_data = EG(current_execute_data) = call->prev_execute_data;
76207626

Zend/zend_vm_execute.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1812,6 +1812,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PROXY_CALL_SPEC_HANDLER(ZEND_O
18121812

18131813
zend_free_proxy_call_func(fbc);
18141814

1815+
/* the previously call to current execute_data already check zend_execute_ex */
18151816
ZEND_VM_ENTER();
18161817
} else {
18171818
zval retval;
@@ -1828,7 +1829,12 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PROXY_CALL_SPEC_HANDLER(ZEND_O
18281829

18291830
EG(current_execute_data) = call;
18301831

1831-
call->func->internal_function.handler(call, ret);
1832+
if (!zend_execute_internal) {
1833+
/* saves one function call if zend_execute_internal is not used */
1834+
fbc->internal_function.handler(call, ret);
1835+
} else {
1836+
zend_execute_internal(call, ret);
1837+
}
18321838

18331839
execute_data = EG(current_execute_data) = call->prev_execute_data;
18341840

0 commit comments

Comments
 (0)