@@ -1417,7 +1417,9 @@ int zend_optimize_script(zend_script *script, zend_long optimization_level, zend
1417
1417
continue ;
1418
1418
}
1419
1419
ZEND_HASH_FOREACH_STR_KEY_PTR (& ce -> function_table , name , op_array ) {
1420
- if (op_array -> scope == ce && !(op_array -> fn_flags & ZEND_ACC_TRAIT_CLONE )) {
1420
+ if (op_array -> scope == ce
1421
+ && op_array -> type == ZEND_USER_FUNCTION
1422
+ && !(op_array -> fn_flags & ZEND_ACC_TRAIT_CLONE )) {
1421
1423
zend_optimize_op_array (op_array , & ctx );
1422
1424
}
1423
1425
} ZEND_HASH_FOREACH_END ();
@@ -1531,7 +1533,9 @@ int zend_optimize_script(zend_script *script, zend_long optimization_level, zend
1531
1533
continue ;
1532
1534
}
1533
1535
ZEND_HASH_FOREACH_STR_KEY_PTR (& ce -> function_table , name , op_array ) {
1534
- if (op_array -> scope == ce && !(op_array -> fn_flags & ZEND_ACC_TRAIT_CLONE )) {
1536
+ if (op_array -> scope == ce
1537
+ && op_array -> type == ZEND_USER_FUNCTION
1538
+ && !(op_array -> fn_flags & ZEND_ACC_TRAIT_CLONE )) {
1535
1539
zend_adjust_fcall_stack_size (op_array , & ctx );
1536
1540
}
1537
1541
} ZEND_HASH_FOREACH_END ();
@@ -1574,7 +1578,9 @@ int zend_optimize_script(zend_script *script, zend_long optimization_level, zend
1574
1578
1575
1579
ZEND_HASH_FOREACH_PTR (& script -> class_table , ce ) {
1576
1580
ZEND_HASH_FOREACH_STR_KEY_PTR (& ce -> function_table , name , op_array ) {
1577
- if (op_array -> scope == ce && !(op_array -> fn_flags & ZEND_ACC_TRAIT_CLONE )) {
1581
+ if (op_array -> scope == ce
1582
+ && op_array -> type == ZEND_USER_FUNCTION
1583
+ && !(op_array -> fn_flags & ZEND_ACC_TRAIT_CLONE )) {
1578
1584
zend_dump_op_array (op_array ,
1579
1585
ZEND_DUMP_RT_CONSTANTS | ZEND_DUMP_LIVE_RANGES , "after optimizer" , NULL );
1580
1586
}
0 commit comments