mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Skip abstract methods
This commit is contained in:
parent
2759e6bc69
commit
a066b809de
2 changed files with 4 additions and 1 deletions
|
@ -1415,6 +1415,7 @@ void zend_foreach_op_array(zend_script *script, zend_op_array_func_t func, void
|
|||
ZEND_HASH_MAP_FOREACH_PTR(&ce->function_table, op_array) {
|
||||
if (op_array->scope == ce
|
||||
&& op_array->type == ZEND_USER_FUNCTION
|
||||
&& !(op_array->fn_flags & ZEND_ACC_ABSTRACT)
|
||||
&& !(op_array->fn_flags & ZEND_ACC_TRAIT_CLONE)) {
|
||||
zend_foreach_op_array_helper(op_array, func, context);
|
||||
}
|
||||
|
|
|
@ -1262,6 +1262,7 @@ static void zend_accel_persist_class_table(HashTable *class_table)
|
|||
ZEND_HASH_MAP_FOREACH_PTR(&ce->function_table, op_array) {
|
||||
if (op_array->type == ZEND_USER_FUNCTION) {
|
||||
if (op_array->scope == ce
|
||||
&& !(op_array->fn_flags & ZEND_ACC_ABSTRACT)
|
||||
&& !(op_array->fn_flags & ZEND_ACC_TRAIT_CLONE)) {
|
||||
zend_jit_op_array(op_array, ZCG(current_persistent_script) ? &ZCG(current_persistent_script)->script : NULL);
|
||||
for (uint32_t i = 0; i < op_array->num_dynamic_func_defs; i++) {
|
||||
|
@ -1276,7 +1277,8 @@ static void zend_accel_persist_class_table(HashTable *class_table)
|
|||
if (EXPECTED(Z_TYPE(p->val) != IS_ALIAS_PTR)) {
|
||||
ce = Z_PTR(p->val);
|
||||
ZEND_HASH_MAP_FOREACH_PTR(&ce->function_table, op_array) {
|
||||
if (op_array->type == ZEND_USER_FUNCTION) {
|
||||
if (op_array->type == ZEND_USER_FUNCTION
|
||||
&& !(op_array->fn_flags & ZEND_ACC_ABSTRACT)) {
|
||||
if ((op_array->scope != ce
|
||||
|| (op_array->fn_flags & ZEND_ACC_TRAIT_CLONE))
|
||||
&& (JIT_G(trigger) == ZEND_JIT_ON_FIRST_EXEC
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue