Skip to content

Commit 97e0904

Browse files
committed
Merge branch 'PHP-7.4'
* PHP-7.4: While the compiler does not have the FBC set for zend_get_call_op, optimizer does, and so incorrectly results in ignoring these flags.
2 parents 75ef3ea + 4d34156 commit 97e0904

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

Zend/zend_compile.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3022,15 +3022,15 @@ uint32_t zend_compile_args(zend_ast *ast, zend_function *fbc) /* {{{ */
30223022
ZEND_API zend_uchar zend_get_call_op(const zend_op *init_op, zend_function *fbc) /* {{{ */
30233023
{
30243024
if (fbc) {
3025-
if (fbc->type == ZEND_INTERNAL_FUNCTION) {
3025+
if (fbc->type == ZEND_INTERNAL_FUNCTION && !(CG(compiler_options) & ZEND_COMPILE_IGNORE_INTERNAL_FUNCTIONS)) {
30263026
if (init_op->opcode == ZEND_INIT_FCALL && !zend_execute_internal) {
30273027
if (!(fbc->common.fn_flags & (ZEND_ACC_ABSTRACT|ZEND_ACC_DEPRECATED|ZEND_ACC_HAS_TYPE_HINTS|ZEND_ACC_RETURN_REFERENCE))) {
30283028
return ZEND_DO_ICALL;
30293029
} else {
30303030
return ZEND_DO_FCALL_BY_NAME;
30313031
}
30323032
}
3033-
} else {
3033+
} else if (!(CG(compiler_options) & ZEND_COMPILE_IGNORE_USER_FUNCTIONS)){
30343034
if (zend_execute_ex == execute_ex && !(fbc->common.fn_flags & ZEND_ACC_ABSTRACT)) {
30353035
return ZEND_DO_UCALL;
30363036
}

0 commit comments

Comments
 (0)