mirror of
https://github.com/php/php-src.git
synced 2025-08-16 14:08:47 +02:00
Check for USER_FUNCTION
This commit is contained in:
parent
26ab6edffc
commit
1133ee1167
2 changed files with 12 additions and 4 deletions
|
@ -71,7 +71,9 @@ static int zend_foreach_op_array(zend_call_graph *call_graph, zend_script *scrip
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
ZEND_HASH_FOREACH_PTR(&ce->function_table, op_array) {
|
ZEND_HASH_FOREACH_PTR(&ce->function_table, op_array) {
|
||||||
if (op_array->scope == ce && !(op_array->fn_flags & ZEND_ACC_TRAIT_CLONE)) {
|
if (op_array->scope == ce
|
||||||
|
&& op_array->type == ZEND_USER_FUNCTION
|
||||||
|
&& !(op_array->fn_flags & ZEND_ACC_TRAIT_CLONE)) {
|
||||||
if (func(call_graph, op_array) != SUCCESS) {
|
if (func(call_graph, op_array) != SUCCESS) {
|
||||||
return FAILURE;
|
return FAILURE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1417,7 +1417,9 @@ int zend_optimize_script(zend_script *script, zend_long optimization_level, zend
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
ZEND_HASH_FOREACH_STR_KEY_PTR(&ce->function_table, name, op_array) {
|
ZEND_HASH_FOREACH_STR_KEY_PTR(&ce->function_table, name, op_array) {
|
||||||
if (op_array->scope == ce && !(op_array->fn_flags & ZEND_ACC_TRAIT_CLONE)) {
|
if (op_array->scope == ce
|
||||||
|
&& op_array->type == ZEND_USER_FUNCTION
|
||||||
|
&& !(op_array->fn_flags & ZEND_ACC_TRAIT_CLONE)) {
|
||||||
zend_optimize_op_array(op_array, &ctx);
|
zend_optimize_op_array(op_array, &ctx);
|
||||||
}
|
}
|
||||||
} ZEND_HASH_FOREACH_END();
|
} ZEND_HASH_FOREACH_END();
|
||||||
|
@ -1531,7 +1533,9 @@ int zend_optimize_script(zend_script *script, zend_long optimization_level, zend
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
ZEND_HASH_FOREACH_STR_KEY_PTR(&ce->function_table, name, op_array) {
|
ZEND_HASH_FOREACH_STR_KEY_PTR(&ce->function_table, name, op_array) {
|
||||||
if (op_array->scope == ce && !(op_array->fn_flags & ZEND_ACC_TRAIT_CLONE)) {
|
if (op_array->scope == ce
|
||||||
|
&& op_array->type == ZEND_USER_FUNCTION
|
||||||
|
&& !(op_array->fn_flags & ZEND_ACC_TRAIT_CLONE)) {
|
||||||
zend_adjust_fcall_stack_size(op_array, &ctx);
|
zend_adjust_fcall_stack_size(op_array, &ctx);
|
||||||
}
|
}
|
||||||
} ZEND_HASH_FOREACH_END();
|
} ZEND_HASH_FOREACH_END();
|
||||||
|
@ -1574,7 +1578,9 @@ int zend_optimize_script(zend_script *script, zend_long optimization_level, zend
|
||||||
|
|
||||||
ZEND_HASH_FOREACH_PTR(&script->class_table, ce) {
|
ZEND_HASH_FOREACH_PTR(&script->class_table, ce) {
|
||||||
ZEND_HASH_FOREACH_STR_KEY_PTR(&ce->function_table, name, op_array) {
|
ZEND_HASH_FOREACH_STR_KEY_PTR(&ce->function_table, name, op_array) {
|
||||||
if (op_array->scope == ce && !(op_array->fn_flags & ZEND_ACC_TRAIT_CLONE)) {
|
if (op_array->scope == ce
|
||||||
|
&& op_array->type == ZEND_USER_FUNCTION
|
||||||
|
&& !(op_array->fn_flags & ZEND_ACC_TRAIT_CLONE)) {
|
||||||
zend_dump_op_array(op_array,
|
zend_dump_op_array(op_array,
|
||||||
ZEND_DUMP_RT_CONSTANTS | ZEND_DUMP_LIVE_RANGES, "after optimizer", NULL);
|
ZEND_DUMP_RT_CONSTANTS | ZEND_DUMP_LIVE_RANGES, "after optimizer", NULL);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue