mirror of
https://github.com/php/php-src.git
synced 2025-01-09 12:34:14 +08:00
Skip abstract methods
This commit is contained in:
parent
2759e6bc69
commit
a066b809de
@ -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…
Reference in New Issue
Block a user