diff options
author | Dmitry Stogov <dmitry@zend.com> | 2018-08-23 17:16:28 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2018-08-23 17:16:28 +0300 |
commit | d140df58e6152037e7e3a3a0b119eae4970dd77e (patch) | |
tree | 5ee51b3be6f0619a077d57310e23b490525f9354 | |
parent | 4bf1d0b3a4b53a0d374f8c94ad506fcf8dee2d7e (diff) | |
download | php-git-d140df58e6152037e7e3a3a0b119eae4970dd77e.tar.gz |
Keep information about unresolved interfaces in zend_class_entry->interface_names.
Move interface implementation code into ZEND_DECLARE_*CLASS opcodes.
Remove ZEND_ADD_INTERFACE and ZEND_VERIFY_ABSTRACT_CLASS opcodes.
-rw-r--r-- | Zend/zend.h | 7 | ||||
-rw-r--r-- | Zend/zend_compile.c | 83 | ||||
-rw-r--r-- | Zend/zend_compile.h | 3 | ||||
-rw-r--r-- | Zend/zend_inheritance.c | 118 | ||||
-rw-r--r-- | Zend/zend_inheritance.h | 2 | ||||
-rw-r--r-- | Zend/zend_interfaces.c | 10 | ||||
-rw-r--r-- | Zend/zend_opcode.c | 10 | ||||
-rw-r--r-- | Zend/zend_operators.c | 18 | ||||
-rw-r--r-- | Zend/zend_vm_def.h | 38 | ||||
-rw-r--r-- | Zend/zend_vm_execute.h | 218 | ||||
-rw-r--r-- | Zend/zend_vm_handlers.h | 1520 | ||||
-rw-r--r-- | Zend/zend_vm_opcodes.c | 6 | ||||
-rw-r--r-- | Zend/zend_vm_opcodes.h | 2 | ||||
-rw-r--r-- | ext/opcache/Optimizer/compact_literals.c | 1 | ||||
-rw-r--r-- | ext/opcache/Optimizer/sccp.c | 2 | ||||
-rw-r--r-- | ext/opcache/Optimizer/zend_optimizer.c | 6 | ||||
-rw-r--r-- | ext/opcache/zend_accelerator_util_funcs.c | 11 | ||||
-rw-r--r-- | ext/opcache/zend_file_cache.c | 98 | ||||
-rw-r--r-- | ext/opcache/zend_persist.c | 9 | ||||
-rw-r--r-- | ext/opcache/zend_persist_calc.c | 11 | ||||
-rw-r--r-- | ext/reflection/php_reflection.c | 3 | ||||
-rw-r--r-- | ext/reflection/tests/ReflectionClass_getInterfaces_002.phpt | 18 | ||||
-rw-r--r-- | ext/spl/spl_functions.c | 7 | ||||
-rw-r--r-- | sapi/phpdbg/phpdbg.c | 2 |
24 files changed, 1157 insertions, 1046 deletions
diff --git a/Zend/zend.h b/Zend/zend.h index b1f38fc0ea..ee47d0b140 100644 --- a/Zend/zend.h +++ b/Zend/zend.h @@ -159,7 +159,12 @@ struct _zend_class_entry { uint32_t num_interfaces; uint32_t num_traits; - zend_class_entry **interfaces; + + /* class_entry or string(s) depending on ZEND_ACC_UNRESOLVED_INTERFACES */ + union { + zend_class_entry **interfaces; + zend_class_name *interface_names; + }; zend_class_name *trait_names; zend_trait_alias **trait_aliases; diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 540c0f4b9a..b1ac89cb5a 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -1092,8 +1092,8 @@ static zend_always_inline zend_class_entry *do_bind_class_ex(zval *lcname, HashT ZEND_ASSERT(zv); ce = (zend_class_entry*)Z_PTR_P(zv); - if (compile_time && (ce->ce_flags & ZEND_ACC_IMPLEMENT_TRAITS)) { - /* We currently don't early-bind classes that use traits */ + if (compile_time && (ce->ce_flags & (ZEND_ACC_IMPLEMENT_INTERFACES|ZEND_ACC_IMPLEMENT_TRAITS))) { + /* We currently don't early-bind classes that implement interfaces or use traits */ return NULL; } @@ -1110,9 +1110,16 @@ static zend_always_inline zend_class_entry *do_bind_class_ex(zval *lcname, HashT } return NULL; } else { - if (!compile_time && (ce->ce_flags & ZEND_ACC_IMPLEMENT_TRAITS)) { - zend_do_bind_traits(ce); - } else if (!(ce->ce_flags & (ZEND_ACC_INTERFACE|ZEND_ACC_TRAIT|ZEND_ACC_EXPLICIT_ABSTRACT_CLASS|ZEND_ACC_IMPLEMENT_INTERFACES))) { + if (!compile_time) { + if (ce->ce_flags & ZEND_ACC_IMPLEMENT_TRAITS) { + zend_do_bind_traits(ce); + } + if (ce->ce_flags & ZEND_ACC_IMPLEMENT_INTERFACES) { + zend_do_implement_interfaces(ce); + } else if (!(ce->ce_flags & (ZEND_ACC_INTERFACE|ZEND_ACC_TRAIT|ZEND_ACC_EXPLICIT_ABSTRACT_CLASS))) { + zend_verify_abstract_class(ce); + } + } else if (!(ce->ce_flags & (ZEND_ACC_INTERFACE|ZEND_ACC_TRAIT|ZEND_ACC_EXPLICIT_ABSTRACT_CLASS))) { zend_verify_abstract_class(ce); } return ce; @@ -1155,8 +1162,8 @@ static zend_always_inline zend_class_entry *do_bind_inherited_class_ex(zval *lcn ce = (zend_class_entry*)Z_PTR_P(zv); - if (compile_time && (ce->ce_flags & ZEND_ACC_IMPLEMENT_TRAITS)) { - /* We currently don't early-bind classes that use traits */ + if (compile_time && (ce->ce_flags & (ZEND_ACC_IMPLEMENT_INTERFACES|ZEND_ACC_IMPLEMENT_TRAITS))) { + /* We currently don't early-bind classes that implement interfaces or use traits */ return NULL; } @@ -1173,8 +1180,13 @@ static zend_always_inline zend_class_entry *do_bind_inherited_class_ex(zval *lcn zend_error_noreturn(E_COMPILE_ERROR, "Cannot declare %s %s, because the name is already in use", zend_get_object_type(ce), ZSTR_VAL(ce->name)); } - if (!compile_time && (ce->ce_flags & ZEND_ACC_IMPLEMENT_TRAITS)) { - zend_do_bind_traits(ce); + if (!compile_time) { + if (ce->ce_flags & ZEND_ACC_IMPLEMENT_TRAITS) { + zend_do_bind_traits(ce); + } + if (ce->ce_flags & ZEND_ACC_IMPLEMENT_INTERFACES) { + zend_do_implement_interfaces(ce); + } } return ce; @@ -1227,10 +1239,16 @@ void zend_do_early_binding(void) /* {{{ */ || ((ce->type == ZEND_USER_CLASS) && (CG(compiler_options) & ZEND_COMPILE_IGNORE_OTHER_FILES) && (ce->info.user.filename != CG(active_op_array)->filename)) ) { if (CG(compiler_options) & ZEND_COMPILE_DELAYED_BINDING) { - CG(active_op_array)->fn_flags |= ZEND_ACC_EARLY_BINDING; - opline->opcode = ZEND_DECLARE_INHERITED_CLASS_DELAYED; - opline->result_type = IS_UNUSED; - opline->result.opline_num = -1; + zval *rtd_key = CT_CONSTANT_EX(CG(active_op_array), opline->op1.constant) + 1; + zval *zv = zend_hash_find_ex(CG(class_table), Z_STR_P(rtd_key), 1); + zend_class_entry *ce = (zend_class_entry*)Z_PTR_P(zv); + + if (!(ce->ce_flags & (ZEND_ACC_IMPLEMENT_INTERFACES|ZEND_ACC_IMPLEMENT_TRAITS))) { + CG(active_op_array)->fn_flags |= ZEND_ACC_EARLY_BINDING; + opline->opcode = ZEND_DECLARE_INHERITED_CLASS_DELAYED; + opline->result_type = IS_UNUSED; + opline->result.opline_num = -1; + } } return; } @@ -1243,10 +1261,6 @@ void zend_do_early_binding(void) /* {{{ */ table = CG(class_table); break; } - case ZEND_VERIFY_ABSTRACT_CLASS: - case ZEND_ADD_INTERFACE: - /* We currently don't early-bind classes that implement interfaces */ - return; default: zend_error_noreturn(E_COMPILE_ERROR, "Invalid binding type"); return; @@ -2082,9 +2096,7 @@ static void zend_check_live_ranges(zend_op *opline) /* {{{ */ } } else if (opline->opcode == ZEND_INIT_STATIC_METHOD_CALL || opline->opcode == ZEND_NEW || - opline->opcode == ZEND_FETCH_CLASS_CONSTANT || - opline->opcode == ZEND_ADD_INTERFACE || - opline->opcode == ZEND_VERIFY_ABSTRACT_CLASS) { + opline->opcode == ZEND_FETCH_CLASS_CONSTANT) { /* classes don't have to be destroyed */ } else if (opline->opcode == ZEND_FAST_RET) { /* fast_calls don't have to be destroyed */ @@ -6287,25 +6299,29 @@ void zend_compile_use_trait(zend_ast *ast) /* {{{ */ void zend_compile_implements(znode *class_node, zend_ast *ast) /* {{{ */ { zend_ast_list *list = zend_ast_get_list(ast); + zend_class_entry *ce = CG(active_class_entry); + zend_class_name *interface_names; uint32_t i; + + interface_names = emalloc(sizeof(zend_class_name) * list->children); + for (i = 0; i < list->children; ++i) { zend_ast *class_ast = list->child[i]; zend_string *name = zend_ast_get_str(class_ast); - zend_op *opline; - if (!zend_is_const_default_class_ref(class_ast)) { + efree(interface_names); zend_error_noreturn(E_COMPILE_ERROR, "Cannot use '%s' as interface name as it is reserved", ZSTR_VAL(name)); } - opline = zend_emit_op(NULL, ZEND_ADD_INTERFACE, class_node, NULL); - opline->op2_type = IS_CONST; - opline->op2.constant = zend_add_class_name_literal(CG(active_op_array), - zend_resolve_class_name_ast(class_ast)); - - CG(active_class_entry)->num_interfaces++; + interface_names[i].name = zend_resolve_class_name_ast(class_ast); + interface_names[i].lc_name = zend_string_tolower(interface_names[i].name); } + + ce->ce_flags |= ZEND_ACC_IMPLEMENT_INTERFACES | ZEND_ACC_UNRESOLVED_INTERFACES; + ce->num_interfaces = list->children; + ce->interface_names = interface_names; } /* }}} */ @@ -6501,7 +6517,6 @@ void zend_compile_class_decl(zend_ast *ast) /* {{{ */ zend_compile_implements(&declare_node, implements_ast); if (!(ce->ce_flags & (ZEND_ACC_INTERFACE|ZEND_ACC_TRAIT|ZEND_ACC_EXPLICIT_ABSTRACT_CLASS))) { zend_verify_abstract_class(ce); - zend_emit_op(NULL, ZEND_VERIFY_ABSTRACT_CLASS, &declare_node, NULL); } } else if (extends_ast) { if (!(ce->ce_flags & (ZEND_ACC_INTERFACE|ZEND_ACC_TRAIT|ZEND_ACC_EXPLICIT_ABSTRACT_CLASS))) { @@ -6509,16 +6524,6 @@ void zend_compile_class_decl(zend_ast *ast) /* {{{ */ } } - /* Inherit interfaces; reset number to zero, we need it for above check and - * will restore it during actual implementation. - * The ZEND_ACC_IMPLEMENT_INTERFACES flag disables double call to - * zend_verify_abstract_class() */ - if (ce->num_interfaces > 0) { - ce->interfaces = NULL; - ce->num_interfaces = 0; - ce->ce_flags |= ZEND_ACC_IMPLEMENT_INTERFACES; - } - FC(implementing_class) = original_implementing_class; CG(active_class_entry) = original_ce; } diff --git a/Zend/zend_compile.h b/Zend/zend_compile.h index 68add4f151..9132ee2537 100644 --- a/Zend/zend_compile.h +++ b/Zend/zend_compile.h @@ -250,6 +250,9 @@ typedef struct _zend_oparray_context { /* Class constants updated | | | */ #define ZEND_ACC_CONSTANTS_UPDATED (1 << 20) /* X | | | */ /* | | | */ +/* Class implements interface(s) | | | */ +#define ZEND_ACC_UNRESOLVED_INTERFACES (1 << 21) /* X | | | */ +/* | | | */ /* Class uses trait(s) | | | */ #define ZEND_ACC_IMPLEMENT_TRAITS (1 << 22) /* X | | | */ /* | | | */ diff --git a/Zend/zend_inheritance.c b/Zend/zend_inheritance.c index 7a02806394..59bb5c4f18 100644 --- a/Zend/zend_inheritance.c +++ b/Zend/zend_inheritance.c @@ -731,15 +731,13 @@ static inline void do_implement_interface(zend_class_entry *ce, zend_class_entry } /* }}} */ -ZEND_API void zend_do_inherit_interfaces(zend_class_entry *ce, const zend_class_entry *iface) /* {{{ */ +static void zend_do_inherit_interfaces(zend_class_entry *ce, const zend_class_entry *iface) /* {{{ */ { /* expects interface to be contained in ce's interface list already */ uint32_t i, ce_num, if_num = iface->num_interfaces; zend_class_entry *entry; - if (if_num==0) { - return; - } + ZEND_ASSERT(!(ce->ce_flags & ZEND_ACC_UNRESOLVED_INTERFACES)); ce_num = ce->num_interfaces; if (ce->type == ZEND_INTERNAL_CLASS) { @@ -821,7 +819,17 @@ ZEND_API void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent ce->parent = parent_ce; /* Inherit interfaces */ - zend_do_inherit_interfaces(ce, parent_ce); + if (parent_ce->num_interfaces) { + if (!(ce->ce_flags & ZEND_ACC_IMPLEMENT_INTERFACES)) { + zend_do_inherit_interfaces(ce, parent_ce); + } else { + uint32_t i; + + for (i = 0; i < parent_ce->num_interfaces; i++) { + do_implement_interface(ce, parent_ce->interfaces[i]); + } + } + } /* Inherit properties */ if (parent_ce->default_properties_count) { @@ -1039,6 +1047,8 @@ ZEND_API void zend_do_implement_interface(zend_class_entry *ce, zend_class_entry zend_string *key; zend_class_constant *c; + ZEND_ASSERT(!(ce->ce_flags & ZEND_ACC_UNRESOLVED_INTERFACES)); + for (i = 0; i < ce->num_interfaces; i++) { if (ce->interfaces[i] == NULL) { memmove(ce->interfaces + i, ce->interfaces + i + 1, sizeof(zend_class_entry*) * (--ce->num_interfaces - i)); @@ -1079,7 +1089,99 @@ ZEND_API void zend_do_implement_interface(zend_class_entry *ce, zend_class_entry } ZEND_HASH_FOREACH_END(); do_implement_interface(ce, iface); - zend_do_inherit_interfaces(ce, iface); + if (iface->num_interfaces) { + zend_do_inherit_interfaces(ce, iface); + } + } +} +/* }}} */ + +ZEND_API void zend_do_implement_interfaces(zend_class_entry *ce) /* {{{ */ +{ + zend_class_entry **interfaces, *iface; + uint32_t num_interfaces = 0; + zend_function *func; + zend_string *key; + zend_class_constant *c; + uint32_t i, j; + + ZEND_ASSERT(ce->ce_flags & ZEND_ACC_UNRESOLVED_INTERFACES); + + if (ce->parent && ce->parent->num_interfaces) { + interfaces = emalloc(sizeof(zend_class_entry*) * (ce->parent->num_interfaces + ce->num_interfaces)); + memcpy(interfaces, ce->parent->interfaces, sizeof(zend_class_entry*) * ce->parent->num_interfaces); + num_interfaces = ce->parent->num_interfaces; + } else { + interfaces = emalloc(sizeof(zend_class_entry*) * ce->num_interfaces); + } + + for (i = 0; i < ce->num_interfaces; i++) { + iface = zend_fetch_class_by_name(ce->interface_names[i].name, + ce->interface_names[i].lc_name, ZEND_FETCH_CLASS_INTERFACE); + if (UNEXPECTED(iface == NULL)) { + return; + } + if (UNEXPECTED(!(iface->ce_flags & ZEND_ACC_INTERFACE))) { + efree(interfaces); + zend_error_noreturn(E_ERROR, "%s cannot implement %s - it is not an interface", ZSTR_VAL(ce->name), ZSTR_VAL(iface->name)); + return; + } + for (j = 0; j < num_interfaces; j++) { + if (interfaces[j] == iface) { + if (!ce->parent || j >= ce->parent->num_interfaces) { + efree(interfaces); + zend_error_noreturn(E_COMPILE_ERROR, "Class %s cannot implement previously implemented interface %s", ZSTR_VAL(ce->name), ZSTR_VAL(iface->name)); + return; + } + /* skip duplications */ + ZEND_HASH_FOREACH_STR_KEY_PTR(&ce->constants_table, key, c) { + do_inherit_constant_check(&iface->constants_table, c, key, iface); + } ZEND_HASH_FOREACH_END(); + + iface = NULL; + break; + } + } + if (iface) { + interfaces[num_interfaces] = iface; + num_interfaces++; + } + } + + for (i = 0; i < ce->num_interfaces; i++) { + zend_string_release_ex(ce->interface_names[i].name, 0); + zend_string_release_ex(ce->interface_names[i].lc_name, 0); + } + efree(ce->interface_names); + + ce->num_interfaces = num_interfaces; + ce->interfaces = interfaces; + ce->ce_flags &= ~ZEND_ACC_UNRESOLVED_INTERFACES; + + i = ce->parent ? ce->parent->num_interfaces : 0; + for (; i < ce->num_interfaces; i++) { + iface = ce->interfaces[i]; + + ZEND_HASH_FOREACH_STR_KEY_PTR(&iface->constants_table, key, c) { + do_inherit_iface_constant(key, c, ce, iface); + } ZEND_HASH_FOREACH_END(); + + ZEND_HASH_FOREACH_STR_KEY_PTR(&iface->function_table, key, func) { + zend_function *new_func = do_inherit_method(key, func, ce); + + if (new_func) { + zend_hash_add_new_ptr(&ce->function_table, key, new_func); + } + } ZEND_HASH_FOREACH_END(); + + do_implement_interface(ce, iface); + if (iface->num_interfaces) { + zend_do_inherit_interfaces(ce, iface); + } + } + + if (!(ce->ce_flags & (ZEND_ACC_INTERFACE|ZEND_ACC_TRAIT|ZEND_ACC_EXPLICIT_ABSTRACT_CLASS))) { + zend_verify_abstract_class(ce); } } /* }}} */ @@ -1703,9 +1805,7 @@ ZEND_API void zend_do_bind_traits(zend_class_entry *ce) /* {{{ */ zend_class_entry **traits, *trait; uint32_t i, j; - if (ce->num_traits == 0) { - return; - } + ZEND_ASSERT(ce->num_traits > 0); traits = emalloc(sizeof(zend_class_entry*) * ce->num_traits); diff --git a/Zend/zend_inheritance.h b/Zend/zend_inheritance.h index e655f24160..25b15cad5b 100644 --- a/Zend/zend_inheritance.h +++ b/Zend/zend_inheritance.h @@ -24,10 +24,10 @@ BEGIN_EXTERN_C() -ZEND_API void zend_do_inherit_interfaces(zend_class_entry *ce, const zend_class_entry *iface); ZEND_API void zend_do_implement_interface(zend_class_entry *ce, zend_class_entry *iface); ZEND_API void zend_do_bind_traits(zend_class_entry *ce); +ZEND_API void zend_do_implement_interfaces(zend_class_entry *ce); ZEND_API void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent_ce); void zend_do_early_binding(void); diff --git a/Zend/zend_interfaces.c b/Zend/zend_interfaces.c index 7ccfe1fa75..cf92cbf4d7 100644 --- a/Zend/zend_interfaces.c +++ b/Zend/zend_interfaces.c @@ -290,9 +290,12 @@ static int zend_implement_traversable(zend_class_entry *interface, zend_class_en if (class_type->get_iterator || (class_type->parent && class_type->parent->get_iterator)) { return SUCCESS; } - for (i = 0; i < class_type->num_interfaces; i++) { - if (class_type->interfaces[i] == zend_ce_aggregate || class_type->interfaces[i] == zend_ce_iterator) { - return SUCCESS; + if (class_type->num_interfaces) { + ZEND_ASSERT(!(class_type->ce_flags & ZEND_ACC_UNRESOLVED_INTERFACES)); + for (i = 0; i < class_type->num_interfaces; i++) { + if (class_type->interfaces[i] == zend_ce_aggregate || class_type->interfaces[i] == zend_ce_iterator) { + return SUCCESS; + } } } zend_error_noreturn(E_CORE_ERROR, "Class %s must implement interface %s as part of either %s or %s", @@ -317,6 +320,7 @@ static int zend_implement_aggregate(zend_class_entry *interface, zend_class_entr } else if (class_type->get_iterator != zend_user_it_get_new_iterator) { /* c-level get_iterator cannot be changed (exception being only Traversable is implemented) */ if (class_type->num_interfaces) { + ZEND_ASSERT(!(class_type->ce_flags & ZEND_ACC_UNRESOLVED_INTERFACES)); for (i = 0; i < class_type->num_interfaces; i++) { if (class_type->interfaces[i] == zend_ce_iterator) { zend_error_noreturn(E_ERROR, "Class %s cannot implement both %s and %s at the same time", diff --git a/Zend/zend_opcode.c b/Zend/zend_opcode.c index a0fd5a71a6..451104aaf0 100644 --- a/Zend/zend_opcode.c +++ b/Zend/zend_opcode.c @@ -262,7 +262,15 @@ ZEND_API void destroy_zend_class(zval *zv) } ZEND_HASH_FOREACH_END(); } zend_hash_destroy(&ce->constants_table); - if (ce->num_interfaces > 0 && ce->interfaces) { + if (ce->num_interfaces > 0) { + if (ce->ce_flags & ZEND_ACC_UNRESOLVED_INTERFACES) { + uint32_t i; + + for (i = 0; i < ce->num_interfaces; i++) { + zend_string_release_ex(ce->interface_names[i].name, 0); + zend_string_release_ex(ce->interface_names[i].lc_name, 0); + } + } efree(ce->interfaces); } if (ce->info.user.doc_comment) { diff --git a/Zend/zend_operators.c b/Zend/zend_operators.c index d639eb6b9d..e868a8b413 100644 --- a/Zend/zend_operators.c +++ b/Zend/zend_operators.c @@ -2278,9 +2278,12 @@ static zend_bool ZEND_FASTCALL instanceof_interface_only(const zend_class_entry { uint32_t i; - for (i = 0; i < instance_ce->num_interfaces; i++) { - if (instanceof_interface_only(instance_ce->interfaces[i], ce)) { - return 1; + if (instance_ce->num_interfaces) { + ZEND_ASSERT(!(instance_ce->ce_flags & ZEND_ACC_UNRESOLVED_INTERFACES)); + for (i = 0; i < instance_ce->num_interfaces; i++) { + if (instanceof_interface_only(instance_ce->interfaces[i], ce)) { + return 1; + } } } return 0; @@ -2303,9 +2306,12 @@ static zend_bool ZEND_FASTCALL instanceof_interface(const zend_class_entry *inst { uint32_t i; - for (i = 0; i < instance_ce->num_interfaces; i++) { - if (instanceof_interface(instance_ce->interfaces[i], ce)) { - return 1; + if (instance_ce->num_interfaces) { + ZEND_ASSERT(!(instance_ce->ce_flags & ZEND_ACC_UNRESOLVED_INTERFACES)); + for (i = 0; i < instance_ce->num_interfaces; i++) { + if (instanceof_interface(instance_ce->interfaces[i], ce)) { + return 1; + } } } return instanceof_class(instance_ce, ce); diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index cefecf0e8a..ac748e8fdf 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -6709,7 +6709,10 @@ ZEND_VM_HANDLER(171, ZEND_DECLARE_ANON_CLASS, ANY, ANY, JMP_ADDR) } if (ce->ce_flags & ZEND_ACC_IMPLEMENT_TRAITS) { zend_do_bind_traits(ce); - } else if (!(ce->ce_flags & (ZEND_ACC_INTERFACE|ZEND_ACC_TRAIT|ZEND_ACC_EXPLICIT_ABSTRACT_CLASS|ZEND_ACC_IMPLEMENT_INTERFACES))) { + } + if (ce->ce_flags & ZEND_ACC_IMPLEMENT_INTERFACES) { + zend_do_implement_interfaces(ce); + } else if (!(ce->ce_flags & (ZEND_ACC_INTERFACE|ZEND_ACC_TRAIT|ZEND_ACC_EXPLICIT_ABSTRACT_CLASS))) { zend_verify_abstract_class(ce); } ce->ce_flags |= ZEND_ACC_ANON_BOUND; @@ -6745,6 +6748,9 @@ ZEND_VM_HANDLER(172, ZEND_DECLARE_ANON_INHERITED_CLASS, CONST, CONST, JMP_ADDR) if (ce->ce_flags & ZEND_ACC_IMPLEMENT_TRAITS) { zend_do_bind_traits(ce); } + if (ce->ce_flags & ZEND_ACC_IMPLEMENT_INTERFACES) { + zend_do_implement_interfaces(ce); + } ce->ce_flags |= ZEND_ACC_ANON_BOUND; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -6836,27 +6842,6 @@ ZEND_VM_HOT_HANDLER(0, ZEND_NOP, ANY, ANY) ZEND_VM_NEXT_OPCODE(); } -ZEND_VM_HANDLER(144, ZEND_ADD_INTERFACE, ANY, CONST, CACHE_SLOT) -{ - USE_OPLINE - zend_class_entry *ce = Z_CE_P(EX_VAR(opline->op1.var)); - zend_class_entry *iface; - - SAVE_OPLINE(); - iface = zend_fetch_class_by_name(Z_STR_P(RT_CONSTANT(opline, opline->op2)), Z_STR_P(RT_CONSTANT(opline, opline->op2) + 1), ZEND_FETCH_CLASS_INTERFACE); - if (UNEXPECTED(iface == NULL)) { - ZEND_ASSERT(EG(exception)); - HANDLE_EXCEPTION(); - } - - if (UNEXPECTED((iface->ce_flags & ZEND_ACC_INTERFACE) == 0)) { - zend_error_noreturn(E_ERROR, "%s cannot implement %s - it is not an interface", ZSTR_VAL(ce->name), ZSTR_VAL(iface->name)); - } - zend_do_implement_interface(ce, iface); - - ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); -} - ZEND_VM_HELPER(zend_dispatch_try_catch_finally_helper, ANY, ANY, uint32_t try_catch_offset, uint32_t op_num) { /* May be NULL during generator closing (only finally blocks are executed) */ @@ -6970,15 +6955,6 @@ ZEND_VM_HANDLER(149, ZEND_HANDLE_EXCEPTION, ANY, ANY) ZEND_VM_DISPATCH_TO_HELPER(zend_dispatch_try_catch_finally_helper, try_catch_offset, current_try_catch_offset, op_num, throw_op_num); } -ZEND_VM_HANDLER(146, ZEND_VERIFY_ABSTRACT_CLASS, ANY, ANY) -{ - USE_OPLINE - - SAVE_OPLINE(); - zend_verify_abstract_class(Z_CE_P(EX_VAR(opline->op1.var))); - ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); -} - ZEND_VM_HANDLER(150, ZEND_USER_OPCODE, ANY, ANY) { USE_OPLINE diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 8ae091f5a6..fa4257557a 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -1602,7 +1602,10 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DECLARE_ANON_CLASS_SPEC_HANDLE } if (ce->ce_flags & ZEND_ACC_IMPLEMENT_TRAITS) { zend_do_bind_traits(ce); - } else if (!(ce->ce_flags & (ZEND_ACC_INTERFACE|ZEND_ACC_TRAIT|ZEND_ACC_EXPLICIT_ABSTRACT_CLASS|ZEND_ACC_IMPLEMENT_INTERFACES))) { + } + if (ce->ce_flags & ZEND_ACC_IMPLEMENT_INTERFACES) { + zend_do_implement_interfaces(ce); + } else if (!(ce->ce_flags & (ZEND_ACC_INTERFACE|ZEND_ACC_TRAIT|ZEND_ACC_EXPLICIT_ABSTRACT_CLASS))) { zend_verify_abstract_class(ce); } ce->ce_flags |= ZEND_ACC_ANON_BOUND; @@ -1760,15 +1763,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_HANDLE_EXCEPTION_SPEC_HANDLER( ZEND_VM_TAIL_CALL(zend_dispatch_try_catch_finally_helper_SPEC(current_try_catch_offset, throw_op_num ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_CC)); } -static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_VERIFY_ABSTRACT_CLASS_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS) -{ - USE_OPLINE - - SAVE_OPLINE(); - zend_verify_abstract_class(Z_CE_P(EX_VAR(opline->op1.var))); - ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); -} - static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_USER_OPCODE_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { USE_OPLINE @@ -2226,27 +2220,6 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_RECV_INIT_SPEC_CON ZEND_VM_NEXT_OPCODE(); } -static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ADD_INTERFACE_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS) -{ - USE_OPLINE - zend_class_entry *ce = Z_CE_P(EX_VAR(opline->op1.var)); - zend_class_entry *iface; - - SAVE_OPLINE(); - iface = zend_fetch_class_by_name(Z_STR_P(RT_CONSTANT(opline, opline->op2)), Z_STR_P(RT_CONSTANT(opline, opline->op2) + 1), ZEND_FETCH_CLASS_INTERFACE); - if (UNEXPECTED(iface == NULL)) { - ZEND_ASSERT(EG(exception)); - HANDLE_EXCEPTION(); - } - - if (UNEXPECTED((iface->ce_flags & ZEND_ACC_INTERFACE) == 0)) { - zend_error_noreturn(E_ERROR, "%s cannot implement %s - it is not an interface", ZSTR_VAL(ce->name), ZSTR_VAL(iface->name)); - } - zend_do_implement_interface(ce, iface); - - ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); -} - static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_DYNAMIC_CALL_SPEC_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS) { USE_OPLINE @@ -5865,6 +5838,9 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DECLARE_ANON_INHERITED_CLASS_S if (ce->ce_flags & ZEND_ACC_IMPLEMENT_TRAITS) { zend_do_bind_traits(ce); } + if (ce->ce_flags & ZEND_ACC_IMPLEMENT_INTERFACES) { + zend_do_implement_interfaces(ce); + } ce->ce_flags |= ZEND_ACC_ANON_BOUND; ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION(); } @@ -53751,9 +53727,7 @@ ZEND_API void execute_ex(zend_execute_data *ex) (void*)&&ZEND_NULL_LABEL, (void*)&&ZEND_YIELD_FROM_SPEC_CV_LABEL, (void*)&&ZEND_DECLARE_CONST_SPEC_CONST_CONST_LABEL, - (void*)&&ZEND_ADD_INTERFACE_SPEC_CONST_LABEL, (void*)&&ZEND_DECLARE_INHERITED_CLASS_DELAYED_SPEC_CONST_CONST_LABEL, - (void*)&&ZEND_VERIFY_ABSTRACT_CLASS_SPEC_LABEL, (void*)&&ZEND_NULL_LABEL, (void*)&&ZEND_NULL_LABEL, (void*)&&ZEND_NULL_LABEL, @@ -55465,10 +55439,6 @@ zend_leave_helper_SPEC_LABEL: VM_TRACE(ZEND_HANDLE_EXCEPTION_SPEC) ZEND_HANDLE_EXCEPTION_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); HYBRID_BREAK(); - HYBRID_CASE(ZEND_VERIFY_ABSTRACT_CLASS_SPEC): - VM_TRACE(ZEND_VERIFY_ABSTRACT_CLASS_SPEC) - ZEND_VERIFY_ABSTRACT_CLASS_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); - HYBRID_BREAK(); HYBRID_CASE(ZEND_USER_OPCODE_SPEC): VM_TRACE(ZEND_USER_OPCODE_SPEC) ZEND_USER_OPCODE_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); @@ -55517,10 +55487,6 @@ zend_leave_helper_SPEC_LABEL: VM_TRACE(ZEND_RECV_INIT_SPEC_CONST) ZEND_RECV_INIT_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); HYBRID_BREAK(); - HYBRID_CASE(ZEND_ADD_INTERFACE_SPEC_CONST): - VM_TRACE(ZEND_ADD_INTERFACE_SPEC_CONST) - ZEND_ADD_INTERFACE_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); - HYBRID_BREAK(); HYBRID_CASE(ZEND_INIT_DYNAMIC_CALL_SPEC_TMPVAR): VM_TRACE(ZEND_INIT_DYNAMIC_CALL_SPEC_TMPVAR) ZEND_INIT_DYNAMIC_CALL_SPEC_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); @@ -63240,9 +63206,7 @@ void zend_vm_init(void) ZEND_NULL_HANDLER, ZEND_YIELD_FROM_SPEC_CV_HANDLER, ZEND_DECLARE_CONST_SPEC_CONST_CONST_HANDLER, - ZEND_ADD_INTERFACE_SPEC_CONST_HANDLER, ZEND_DECLARE_INHERITED_CLASS_DELAYED_SPEC_CONST_CONST_HANDLER, - ZEND_VERIFY_ABSTRACT_CLASS_SPEC_HANDLER, ZEND_NULL_HANDLER, ZEND_NULL_HANDLER, ZEND_NULL_HANDLER, @@ -64868,62 +64832,62 @@ void zend_vm_init(void) 2430, 2431 | SPEC_RULE_OP1, 2436, + 3916, 2437, - 2438, - 2439, - 2440 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_OP_DATA, - 2565 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 3916, + 2438 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_OP_DATA, + 2563 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2588, + 2589, 2590, - 2591, - 2592, - 2593 | SPEC_RULE_OP1, + 2591 | SPEC_RULE_OP1, + 2596, + 3916, + 3916, + 2597, 2598, - 3918, - 3918, 2599, 2600, - 2601, - 2602, - 2603 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2628 | SPEC_RULE_OP1, + 2601 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2626 | SPEC_RULE_OP1, + 2631, + 2632, 2633, 2634, - 2635, - 2636, - 2637 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2662 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_DIM_OBJ, - 2737, - 2738 | SPEC_RULE_OP1, - 2743 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2768, - 2769, - 2770 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2795 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2820 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2845 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2870 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2895 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2920 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2945 | SPEC_RULE_OP1 | SPEC_RULE_OP2, - 2970 | SPEC_RULE_OP1, + 2635 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2660 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_DIM_OBJ, + 2735, + 2736 | SPEC_RULE_OP1, + 2741 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2766, + 2767, + 2768 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2793 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2818 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2843 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2868 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2893 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2918 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2943 | SPEC_RULE_OP1 | SPEC_RULE_OP2, + 2968 | SPEC_RULE_OP1, + 2973, + 2974, 2975, 2976, 2977, - 2978, - 2979, - 2980 | SPEC_RULE_OP1, - 2985 | SPEC_RULE_OP1, - 2990 | SPEC_RULE_OP1, - 2995 | SPEC_RULE_OP1, - 3000 | SPEC_RULE_OP1, - 3005, - 3006 | SPEC_RULE_OP1, - 3011, - 3012 | SPEC_RULE_OP1, - 3017, - 3018 | SPEC_RULE_ISSET, - 3020 | SPEC_RULE_OP2, - 3918 + 2978 | SPEC_RULE_OP1, + 2983 | SPEC_RULE_OP1, + 2988 | SPEC_RULE_OP1, + 2993 | SPEC_RULE_OP1, + 2998 | SPEC_RULE_OP1, + 3003, + 3004 | SPEC_RULE_OP1, + 3009, + 3010 | SPEC_RULE_OP1, + 3015, + 3016 | SPEC_RULE_ISSET, + 3018 | SPEC_RULE_OP2, + 3916 }; #if (ZEND_VM_KIND == ZEND_VM_KIND_HYBRID) zend_opcode_handler_funcs = labels; @@ -65124,7 +65088,7 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3026 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE; + spec = 3024 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE; if (op->op1_type < op->op2_type) { zend_swap_operands(op); } @@ -65132,7 +65096,7 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3051 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE; + spec = 3049 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE; if (op->op1_type < op->op2_type) { zend_swap_operands(op); } @@ -65140,7 +65104,7 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3076 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE; + spec = 3074 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE; if (op->op1_type < op->op2_type) { zend_swap_operands(op); } @@ -65151,17 +65115,17 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3101 | SPEC_RULE_OP1 | SPEC_RULE_OP2; + spec = 3099 | SPEC_RULE_OP1 | SPEC_RULE_OP2; } else if (op1_info == MAY_BE_LONG && op2_info == MAY_BE_LONG) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3126 | SPEC_RULE_OP1 | SPEC_RULE_OP2; + spec = 3124 | SPEC_RULE_OP1 | SPEC_RULE_OP2; } else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3151 | SPEC_RULE_OP1 | SPEC_RULE_OP2; + spec = 3149 | SPEC_RULE_OP1 | SPEC_RULE_OP2; } break; case ZEND_MUL: @@ -65172,17 +65136,17 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3176 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE; + spec = 3174 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE; } else if (op1_info == MAY_BE_LONG && op2_info == MAY_BE_LONG) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3201 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE; + spec = 3199 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE; } else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3226 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE; + spec = 3224 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE; } break; case ZEND_IS_EQUAL: @@ -65193,12 +65157,12 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3251 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE; + spec = 3249 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE; } else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3326 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE; + spec = 3324 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE; } break; case ZEND_IS_NOT_EQUAL: @@ -65209,12 +65173,12 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3401 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE; + spec = 3399 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE; } else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3476 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE; + spec = 3474 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE; } break; case ZEND_IS_SMALLER: @@ -65222,12 +65186,12 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3551 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; + spec = 3549 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; } else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3626 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; + spec = 3624 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; } break; case ZEND_IS_SMALLER_OR_EQUAL: @@ -65235,75 +65199,75 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3701 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; + spec = 3699 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; } else if (op1_info == MAY_BE_DOUBLE && op2_info == MAY_BE_DOUBLE) { if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3776 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; + spec = 3774 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH; } break; case ZEND_QM_ASSIGN: if (op1_info == MAY_BE_DOUBLE) { - spec = 3869 | SPEC_RULE_OP1; + spec = 3867 | SPEC_RULE_OP1; } else if ((op->op1_type == IS_CONST) ? !Z_REFCOUNTED_P(RT_CONSTANT(op, op->op1)) : (!(op1_info & ((MAY_BE_ANY|MAY_BE_UNDEF)-(MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG|MAY_BE_DOUBLE))))) { - spec = 3874 | SPEC_RULE_OP1; + spec = 3872 | SPEC_RULE_OP1; } break; case ZEND_PRE_INC: if (res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG) { - spec = 3851 | SPEC_RULE_RETVAL; + spec = 3849 | SPEC_RULE_RETVAL; } else if (op1_info == MAY_BE_LONG) { - spec = 3853 | SPEC_RULE_RETVAL; + spec = 3851 | SPEC_RULE_RETVAL; } else if (op1_info == (MAY_BE_LONG|MAY_BE_DOUBLE)) { - spec = 3855 | SPEC_RULE_RETVAL; + spec = 3853 | SPEC_RULE_RETVAL; } break; case ZEND_PRE_DEC: if (res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG) { - spec = 3857 | SPEC_RULE_RETVAL; + spec = 3855 | SPEC_RULE_RETVAL; } else if (op1_info == MAY_BE_LONG) { - spec = 3859 | SPEC_RULE_RETVAL; + spec = 3857 | SPEC_RULE_RETVAL; } else if (op1_info == (MAY_BE_LONG|MAY_BE_DOUBLE)) { - spec = 3861 | SPEC_RULE_RETVAL; + spec = 3859 | SPEC_RULE_RETVAL; } break; case ZEND_POST_INC: if (res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG) { - spec = 3863; + spec = 3861; } else if (op1_info == MAY_BE_LONG) { - spec = 3864; + spec = 3862; } else if (op1_info == (MAY_BE_LONG|MAY_BE_DOUBLE)) { - spec = 3865; + spec = 3863; } break; case ZEND_POST_DEC: if (res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG) { - spec = 3866; + spec = 3864; } else if (op1_info == MAY_BE_LONG) { - spec = 3867; + spec = 3865; } else if (op1_info == (MAY_BE_LONG|MAY_BE_DOUBLE)) { - spec = 3868; + spec = 3866; } break; case ZEND_JMP: if (OP_JMP_ADDR(op, op->op1) > op) { - spec = 3025; + spec = 3023; } break; case ZEND_SEND_VAL: if (op->op1_type == IS_CONST && !Z_REFCOUNTED_P(RT_CONSTANT(op, op->op1))) { - spec = 3914; + spec = 3912; } break; case ZEND_SEND_VAR_EX: if (op->op2.num <= MAX_ARG_FLAG_NUM && (op1_info & (MAY_BE_UNDEF|MAY_BE_REF)) == 0) { - spec = 3909 | SPEC_RULE_OP1; + spec = 3907 | SPEC_RULE_OP1; } break; case ZEND_FE_FETCH_R: if (op->op2_type == IS_CV && (op1_info & (MAY_BE_UNDEF|MAY_BE_ANY|MAY_BE_REF)) == MAY_BE_ARRAY) { - spec = 3916 | SPEC_RULE_RETVAL; + spec = 3914 | SPEC_RULE_RETVAL; } break; case ZEND_FETCH_DIM_R: @@ -65311,17 +65275,17 @@ ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* op, uint32_t if (op->op1_type == IS_CONST && op->op2_type == IS_CONST) { break; } - spec = 3879 | SPEC_RULE_OP1 | SPEC_RULE_OP2; + spec = 3877 | SPEC_RULE_OP1 | SPEC_RULE_OP2; } break; case ZEND_SEND_VAL_EX: if (op->op2.num <= MAX_ARG_FLAG_NUM && op->op1_type == IS_CONST && !Z_REFCOUNTED_P(RT_CONSTANT(op, op->op1))) { - spec = 3915; + spec = 3913; } break; case ZEND_SEND_VAR: if ((op1_info & (MAY_BE_UNDEF|MAY_BE_REF)) == 0) { - spec = 3904 | SPEC_RULE_OP1; + spec = 3902 | SPEC_RULE_OP1; } break; case ZEND_BW_OR: diff --git a/Zend/zend_vm_handlers.h b/Zend/zend_vm_handlers.h index 5decb97c40..c5ead7e1e4 100644 --- a/Zend/zend_vm_handlers.h +++ b/Zend/zend_vm_handlers.h @@ -1246,812 +1246,810 @@ _(2433, ZEND_YIELD_FROM_SPEC_VAR) \ _(2435, ZEND_YIELD_FROM_SPEC_CV) \ _(2436, ZEND_DECLARE_CONST_SPEC_CONST_CONST) \ - _(2437, ZEND_ADD_INTERFACE_SPEC_CONST) \ - _(2438, ZEND_DECLARE_INHERITED_CLASS_DELAYED_SPEC_CONST_CONST) \ - _(2439, ZEND_VERIFY_ABSTRACT_CLASS_SPEC) \ - _(2490, ZEND_ASSIGN_DIM_SPEC_VAR_CONST_OP_DATA_CONST) \ - _(2491, ZEND_ASSIGN_DIM_SPEC_VAR_CONST_OP_DATA_TMP) \ - _(2492, ZEND_ASSIGN_DIM_SPEC_VAR_CONST_OP_DATA_VAR) \ - _(2494, ZEND_ASSIGN_DIM_SPEC_VAR_CONST_OP_DATA_CV) \ - _(2495, ZEND_ASSIGN_DIM_SPEC_VAR_TMPVAR_OP_DATA_CONST) \ - _(2496, ZEND_ASSIGN_DIM_SPEC_VAR_TMPVAR_OP_DATA_TMP) \ - _(2497, ZEND_ASSIGN_DIM_SPEC_VAR_TMPVAR_OP_DATA_VAR) \ - _(2499, ZEND_ASSIGN_DIM_SPEC_VAR_TMPVAR_OP_DATA_CV) \ - _(2500, ZEND_ASSIGN_DIM_SPEC_VAR_TMPVAR_OP_DATA_CONST) \ - _(2501, ZEND_ASSIGN_DIM_SPEC_VAR_TMPVAR_OP_DATA_TMP) \ - _(2502, ZEND_ASSIGN_DIM_SPEC_VAR_TMPVAR_OP_DATA_VAR) \ - _(2504, ZEND_ASSIGN_DIM_SPEC_VAR_TMPVAR_OP_DATA_CV) \ - _(2505, ZEND_ASSIGN_DIM_SPEC_VAR_UNUSED_OP_DATA_CONST) \ - _(2506, ZEND_ASSIGN_DIM_SPEC_VAR_UNUSED_OP_DATA_TMP) \ - _(2507, ZEND_ASSIGN_DIM_SPEC_VAR_UNUSED_OP_DATA_VAR) \ - _(2509, ZEND_ASSIGN_DIM_SPEC_VAR_UNUSED_OP_DATA_CV) \ - _(2510, ZEND_ASSIGN_DIM_SPEC_VAR_CV_OP_DATA_CONST) \ - _(2511, ZEND_ASSIGN_DIM_SPEC_VAR_CV_OP_DATA_TMP) \ - _(2512, ZEND_ASSIGN_DIM_SPEC_VAR_CV_OP_DATA_VAR) \ - _(2514, ZEND_ASSIGN_DIM_SPEC_VAR_CV_OP_DATA_CV) \ - _(2540, ZEND_ASSIGN_DIM_SPEC_CV_CONST_OP_DATA_CONST) \ - _(2541, ZEND_ASSIGN_DIM_SPEC_CV_CONST_OP_DATA_TMP) \ - _(2542, ZEND_ASSIGN_DIM_SPEC_CV_CONST_OP_DATA_VAR) \ - _(2544, ZEND_ASSIGN_DIM_SPEC_CV_CONST_OP_DATA_CV) \ - _(2545, ZEND_ASSIGN_DIM_SPEC_CV_TMPVAR_OP_DATA_CONST) \ - _(2546, ZEND_ASSIGN_DIM_SPEC_CV_TMPVAR_OP_DATA_TMP) \ - _(2547, ZEND_ASSIGN_DIM_SPEC_CV_TMPVAR_OP_DATA_VAR) \ - _(2549, ZEND_ASSIGN_DIM_SPEC_CV_TMPVAR_OP_DATA_CV) \ - _(2550, ZEND_ASSIGN_DIM_SPEC_CV_TMPVAR_OP_DATA_CONST) \ - _(2551, ZEND_ASSIGN_DIM_SPEC_CV_TMPVAR_OP_DATA_TMP) \ - _(2552, ZEND_ASSIGN_DIM_SPEC_CV_TMPVAR_OP_DATA_VAR) \ - _(2554, ZEND_ASSIGN_DIM_SPEC_CV_TMPVAR_OP_DATA_CV) \ - _(2555, ZEND_ASSIGN_DIM_SPEC_CV_UNUSED_OP_DATA_CONST) \ - _(2556, ZEND_ASSIGN_DIM_SPEC_CV_UNUSED_OP_DATA_TMP) \ - _(2557, ZEND_ASSIGN_DIM_SPEC_CV_UNUSED_OP_DATA_VAR) \ - _(2559, ZEND_ASSIGN_DIM_SPEC_CV_UNUSED_OP_DATA_CV) \ - _(2560, ZEND_ASSIGN_DIM_SPEC_CV_CV_OP_DATA_CONST) \ - _(2561, ZEND_ASSIGN_DIM_SPEC_CV_CV_OP_DATA_TMP) \ - _(2562, ZEND_ASSIGN_DIM_SPEC_CV_CV_OP_DATA_VAR) \ - _(2564, ZEND_ASSIGN_DIM_SPEC_CV_CV_OP_DATA_CV) \ - _(2565, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CONST_CONST) \ - _(2566, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CONST_TMPVAR) \ - _(2567, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CONST_TMPVAR) \ - _(2569, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CONST_CV) \ - _(2570, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_CONST) \ - _(2571, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_TMPVAR) \ - _(2572, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_TMPVAR) \ - _(2574, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_CV) \ - _(2575, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_CONST) \ - _(2576, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_TMPVAR) \ - _(2577, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_TMPVAR) \ - _(2579, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_CV) \ - _(2580, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_UNUSED_CONST) \ - _(2581, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_UNUSED_TMPVAR) \ - _(2582, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_UNUSED_TMPVAR) \ - _(2584, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_UNUSED_CV) \ - _(2585, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CV_CONST) \ - _(2586, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CV_TMPVAR) \ - _(2587, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CV_TMPVAR) \ - _(2589, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CV_CV) \ - _(2590, ZEND_HANDLE_EXCEPTION_SPEC) \ - _(2591, ZEND_USER_OPCODE_SPEC) \ - _(2592, ZEND_ASSERT_CHECK_SPEC) \ - _(2593, ZEND_JMP_SET_SPEC_CONST) \ - _(2594, ZEND_JMP_SET_SPEC_TMP) \ - _(2595, ZEND_JMP_SET_SPEC_VAR) \ - _(2597, ZEND_JMP_SET_SPEC_CV) \ - _(2598, ZEND_DECLARE_LAMBDA_FUNCTION_SPEC_CONST_UNUSED) \ - _(2599, ZEND_SEPARATE_SPEC_VAR_UNUSED) \ - _(2600, ZEND_FETCH_CLASS_NAME_SPEC_UNUSED) \ - _(2601, ZEND_CALL_TRAMPOLINE_SPEC) \ - _(2602, ZEND_DISCARD_EXCEPTION_SPEC) \ - _(2603, ZEND_YIELD_SPEC_CONST_CONST) \ - _(2604, ZEND_YIELD_SPEC_CONST_TMP) \ - _(2605, ZEND_YIELD_SPEC_CONST_VAR) \ - _(2606, ZEND_YIELD_SPEC_CONST_UNUSED) \ - _(2607, ZEND_YIELD_SPEC_CONST_CV) \ - _(2608, ZEND_YIELD_SPEC_TMP_CONST) \ - _(2609, ZEND_YIELD_SPEC_TMP_TMP) \ - _(2610, ZEND_YIELD_SPEC_TMP_VAR) \ - _(2611, ZEND_YIELD_SPEC_TMP_UNUSED) \ - _(2612, ZEND_YIELD_SPEC_TMP_CV) \ - _(2613, ZEND_YIELD_SPEC_VAR_CONST) \ - _(2614, ZEND_YIELD_SPEC_VAR_TMP) \ - _(2615, ZEND_YIELD_SPEC_VAR_VAR) \ - _(2616, ZEND_YIELD_SPEC_VAR_UNUSED) \ - _(2617, ZEND_YIELD_SPEC_VAR_CV) \ - _(2618, ZEND_YIELD_SPEC_UNUSED_CONST) \ - _(2619, ZEND_YIELD_SPEC_UNUSED_TMP) \ - _(2620, ZEND_YIELD_SPEC_UNUSED_VAR) \ - _(2621, ZEND_YIELD_SPEC_UNUSED_UNUSED) \ - _(2622, ZEND_YIELD_SPEC_UNUSED_CV) \ - _(2623, ZEND_YIELD_SPEC_CV_CONST) \ - _(2624, ZEND_YIELD_SPEC_CV_TMP) \ - _(2625, ZEND_YIELD_SPEC_CV_VAR) \ - _(2626, ZEND_YIELD_SPEC_CV_UNUSED) \ - _(2627, ZEND_YIELD_SPEC_CV_CV) \ - _(2628, ZEND_GENERATOR_RETURN_SPEC_CONST) \ - _(2629, ZEND_GENERATOR_RETURN_SPEC_TMP) \ - _(2630, ZEND_GENERATOR_RETURN_SPEC_VAR) \ - _(2632, ZEND_GENERATOR_RETURN_SPEC_CV) \ - _(2633, ZEND_FAST_CALL_SPEC) \ - _(2634, ZEND_FAST_RET_SPEC) \ - _(2635, ZEND_RECV_VARIADIC_SPEC_UNUSED) \ - _(2636, ZEND_SEND_UNPACK_SPEC) \ - _(2637, ZEND_POW_SPEC_CONST_CONST) \ - _(2638, ZEND_POW_SPEC_CONST_TMPVAR) \ - _(2639, ZEND_POW_SPEC_CONST_TMPVAR) \ - _(2641, ZEND_POW_SPEC_CONST_CV) \ - _(2642, ZEND_POW_SPEC_TMPVAR_CONST) \ - _(2643, ZEND_POW_SPEC_TMPVAR_TMPVAR) \ - _(2644, ZEND_POW_SPEC_TMPVAR_TMPVAR) \ - _(2646, ZEND_POW_SPEC_TMPVAR_CV) \ - _(2647, ZEND_POW_SPEC_TMPVAR_CONST) \ - _(2648, ZEND_POW_SPEC_TMPVAR_TMPVAR) \ - _(2649, ZEND_POW_SPEC_TMPVAR_TMPVAR) \ - _(2651, ZEND_POW_SPEC_TMPVAR_CV) \ - _(2657, ZEND_POW_SPEC_CV_CONST) \ - _(2658, ZEND_POW_SPEC_CV_TMPVAR) \ - _(2659, ZEND_POW_SPEC_CV_TMPVAR) \ - _(2661, ZEND_POW_SPEC_CV_CV) \ - _(2692, ZEND_ASSIGN_POW_SPEC_VAR_CONST) \ - _(2693, ZEND_ASSIGN_POW_SPEC_VAR_CONST_DIM) \ - _(2694, ZEND_ASSIGN_POW_SPEC_VAR_CONST_OBJ) \ - _(2695, ZEND_ASSIGN_POW_SPEC_VAR_TMPVAR) \ - _(2696, ZEND_ASSIGN_POW_SPEC_VAR_TMPVAR_DIM) \ - _(2697, ZEND_ASSIGN_POW_SPEC_VAR_TMPVAR_OBJ) \ - _(2698, ZEND_ASSIGN_POW_SPEC_VAR_TMPVAR) \ - _(2699, ZEND_ASSIGN_POW_SPEC_VAR_TMPVAR_DIM) \ - _(2700, ZEND_ASSIGN_POW_SPEC_VAR_TMPVAR_OBJ) \ - _(2702, ZEND_ASSIGN_POW_SPEC_VAR_UNUSED_DIM) \ - _(2704, ZEND_ASSIGN_POW_SPEC_VAR_CV) \ - _(2705, ZEND_ASSIGN_POW_SPEC_VAR_CV_DIM) \ - _(2706, ZEND_ASSIGN_POW_SPEC_VAR_CV_OBJ) \ - _(2709, ZEND_ASSIGN_POW_SPEC_UNUSED_CONST_OBJ) \ - _(2712, ZEND_ASSIGN_POW_SPEC_UNUSED_TMPVAR_OBJ) \ - _(2715, ZEND_ASSIGN_POW_SPEC_UNUSED_TMPVAR_OBJ) \ - _(2721, ZEND_ASSIGN_POW_SPEC_UNUSED_CV_OBJ) \ - _(2722, ZEND_ASSIGN_POW_SPEC_CV_CONST) \ - _(2723, ZEND_ASSIGN_POW_SPEC_CV_CONST_DIM) \ - _(2724, ZEND_ASSIGN_POW_SPEC_CV_CONST_OBJ) \ - _(2725, ZEND_ASSIGN_POW_SPEC_CV_TMPVAR) \ - _(2726, ZEND_ASSIGN_POW_SPEC_CV_TMPVAR_DIM) \ - _(2727, ZEND_ASSIGN_POW_SPEC_CV_TMPVAR_OBJ) \ - _(2728, ZEND_ASSIGN_POW_SPEC_CV_TMPVAR) \ - _(2729, ZEND_ASSIGN_POW_SPEC_CV_TMPVAR_DIM) \ - _(2730, ZEND_ASSIGN_POW_SPEC_CV_TMPVAR_OBJ) \ - _(2732, ZEND_ASSIGN_POW_SPEC_CV_UNUSED_DIM) \ - _(2734, ZEND_ASSIGN_POW_SPEC_CV_CV) \ - _(2735, ZEND_ASSIGN_POW_SPEC_CV_CV_DIM) \ - _(2736, ZEND_ASSIGN_POW_SPEC_CV_CV_OBJ) \ - _(2737, ZEND_BIND_GLOBAL_SPEC_CV_CONST) \ - _(2738, ZEND_COALESCE_SPEC_CONST) \ - _(2739, ZEND_COALESCE_SPEC_TMPVAR) \ - _(2740, ZEND_COALESCE_SPEC_TMPVAR) \ - _(2742, ZEND_COALESCE_SPEC_CV) \ - _(2743, ZEND_SPACESHIP_SPEC_CONST_CONST) \ - _(2744, ZEND_SPACESHIP_SPEC_CONST_TMPVAR) \ - _(2745, ZEND_SPACESHIP_SPEC_CONST_TMPVAR) \ - _(2747, ZEND_SPACESHIP_SPEC_CONST_CV) \ - _(2748, ZEND_SPACESHIP_SPEC_TMPVAR_CONST) \ - _(2749, ZEND_SPACESHIP_SPEC_TMPVAR_TMPVAR) \ - _(2750, ZEND_SPACESHIP_SPEC_TMPVAR_TMPVAR) \ - _(2752, ZEND_SPACESHIP_SPEC_TMPVAR_CV) \ - _(2753, ZEND_SPACESHIP_SPEC_TMPVAR_CONST) \ - _(2754, ZEND_SPACESHIP_SPEC_TMPVAR_TMPVAR) \ - _(2755, ZEND_SPACESHIP_SPEC_TMPVAR_TMPVAR) \ - _(2757, ZEND_SPACESHIP_SPEC_TMPVAR_CV) \ - _(2763, ZEND_SPACESHIP_SPEC_CV_CONST) \ - _(2764, ZEND_SPACESHIP_SPEC_CV_TMPVAR) \ - _(2765, ZEND_SPACESHIP_SPEC_CV_TMPVAR) \ - _(2767, ZEND_SPACESHIP_SPEC_CV_CV) \ - _(2768, ZEND_DECLARE_ANON_CLASS_SPEC) \ - _(2769, ZEND_DECLARE_ANON_INHERITED_CLASS_SPEC_CONST_CONST) \ - _(2770, ZEND_FETCH_STATIC_PROP_R_SPEC_CONST_CONST) \ - _(2772, ZEND_FETCH_STATIC_PROP_R_SPEC_CONST_VAR) \ - _(2773, ZEND_FETCH_STATIC_PROP_R_SPEC_CONST_UNUSED) \ - _(2775, ZEND_FETCH_STATIC_PROP_R_SPEC_TMPVAR_CONST) \ - _(2777, ZEND_FETCH_STATIC_PROP_R_SPEC_TMPVAR_VAR) \ - _(2778, ZEND_FETCH_STATIC_PROP_R_SPEC_TMPVAR_UNUSED) \ - _(2780, ZEND_FETCH_STATIC_PROP_R_SPEC_TMPVAR_CONST) \ - _(2782, ZEND_FETCH_STATIC_PROP_R_SPEC_TMPVAR_VAR) \ - _(2783, ZEND_FETCH_STATIC_PROP_R_SPEC_TMPVAR_UNUSED) \ - _(2790, ZEND_FETCH_STATIC_PROP_R_SPEC_CV_CONST) \ - _(2792, ZEND_FETCH_STATIC_PROP_R_SPEC_CV_VAR) \ - _(2793, ZEND_FETCH_STATIC_PROP_R_SPEC_CV_UNUSED) \ - _(2795, ZEND_FETCH_STATIC_PROP_W_SPEC_CONST_CONST) \ - _(2797, ZEND_FETCH_STATIC_PROP_W_SPEC_CONST_VAR) \ - _(2798, ZEND_FETCH_STATIC_PROP_W_SPEC_CONST_UNUSED) \ - _(2800, ZEND_FETCH_STATIC_PROP_W_SPEC_TMPVAR_CONST) \ - _(2802, ZEND_FETCH_STATIC_PROP_W_SPEC_TMPVAR_VAR) \ - _(2803, ZEND_FETCH_STATIC_PROP_W_SPEC_TMPVAR_UNUSED) \ - _(2805, ZEND_FETCH_STATIC_PROP_W_SPEC_TMPVAR_CONST) \ - _(2807, ZEND_FETCH_STATIC_PROP_W_SPEC_TMPVAR_VAR) \ - _(2808, ZEND_FETCH_STATIC_PROP_W_SPEC_TMPVAR_UNUSED) \ - _(2815, ZEND_FETCH_STATIC_PROP_W_SPEC_CV_CONST) \ - _(2817, ZEND_FETCH_STATIC_PROP_W_SPEC_CV_VAR) \ - _(2818, ZEND_FETCH_STATIC_PROP_W_SPEC_CV_UNUSED) \ - _(2820, ZEND_FETCH_STATIC_PROP_RW_SPEC_CONST_CONST) \ - _(2822, ZEND_FETCH_STATIC_PROP_RW_SPEC_CONST_VAR) \ - _(2823, ZEND_FETCH_STATIC_PROP_RW_SPEC_CONST_UNUSED) \ - _(2825, ZEND_FETCH_STATIC_PROP_RW_SPEC_TMPVAR_CONST) \ - _(2827, ZEND_FETCH_STATIC_PROP_RW_SPEC_TMPVAR_VAR) \ - _(2828, ZEND_FETCH_STATIC_PROP_RW_SPEC_TMPVAR_UNUSED) \ - _(2830, ZEND_FETCH_STATIC_PROP_RW_SPEC_TMPVAR_CONST) \ - _(2832, ZEND_FETCH_STATIC_PROP_RW_SPEC_TMPVAR_VAR) \ - _(2833, ZEND_FETCH_STATIC_PROP_RW_SPEC_TMPVAR_UNUSED) \ - _(2840, ZEND_FETCH_STATIC_PROP_RW_SPEC_CV_CONST) \ - _(2842, ZEND_FETCH_STATIC_PROP_RW_SPEC_CV_VAR) \ - _(2843, ZEND_FETCH_STATIC_PROP_RW_SPEC_CV_UNUSED) \ - _(2845, ZEND_FETCH_STATIC_PROP_IS_SPEC_CONST_CONST) \ - _(2847, ZEND_FETCH_STATIC_PROP_IS_SPEC_CONST_VAR) \ - _(2848, ZEND_FETCH_STATIC_PROP_IS_SPEC_CONST_UNUSED) \ - _(2850, ZEND_FETCH_STATIC_PROP_IS_SPEC_TMPVAR_CONST) \ - _(2852, ZEND_FETCH_STATIC_PROP_IS_SPEC_TMPVAR_VAR) \ - _(2853, ZEND_FETCH_STATIC_PROP_IS_SPEC_TMPVAR_UNUSED) \ - _(2855, ZEND_FETCH_STATIC_PROP_IS_SPEC_TMPVAR_CONST) \ - _(2857, ZEND_FETCH_STATIC_PROP_IS_SPEC_TMPVAR_VAR) \ - _(2858, ZEND_FETCH_STATIC_PROP_IS_SPEC_TMPVAR_UNUSED) \ - _(2865, ZEND_FETCH_STATIC_PROP_IS_SPEC_CV_CONST) \ - _(2867, ZEND_FETCH_STATIC_PROP_IS_SPEC_CV_VAR) \ - _(2868, ZEND_FETCH_STATIC_PROP_IS_SPEC_CV_UNUSED) \ - _(2870, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_CONST_CONST) \ - _(2872, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_CONST_VAR) \ - _(2873, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_CONST_UNUSED) \ - _(2875, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_TMPVAR_CONST) \ - _(2877, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_TMPVAR_VAR) \ - _(2878, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_TMPVAR_UNUSED) \ - _(2880, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_TMPVAR_CONST) \ - _(2882, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_TMPVAR_VAR) \ - _(2883, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_TMPVAR_UNUSED) \ - _(2890, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_CV_CONST) \ - _(2892, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_CV_VAR) \ - _(2893, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_CV_UNUSED) \ - _(2895, ZEND_FETCH_STATIC_PROP_UNSET_SPEC_CONST_CONST) \ - _(2897, ZEND_FETCH_STATIC_PROP_UNSET_SPEC_CONST_VAR) \ - _(2898, ZEND_FETCH_STATIC_PROP_UNSET_SPEC_CONST_UNUSED) \ - _(2900, ZEND_FETCH_STATIC_PROP_UNSET_SPEC_TMPVAR_CONST) \ - _(2902, ZEND_FETCH_STATIC_PROP_UNSET_SPEC_TMPVAR_VAR) \ - _(2903, ZEND_FETCH_STATIC_PROP_UNSET_SPEC_TMPVAR_UNUSED) \ - _(2905, ZEND_FETCH_STATIC_PROP_UNSET_SPEC_TMPVAR_CONST) \ - _(2907, ZEND_FETCH_STATIC_PROP_UNSET_SPEC_TMPVAR_VAR) \ - _(2908, ZEND_FETCH_STATIC_PROP_UNSET_SPEC_TMPVAR_UNUSED) \ - _(2915, ZEND_FETCH_STATIC_PROP_UNSET_SPEC_CV_CONST) \ - _(2917, ZEND_FETCH_STATIC_PROP_UNSET_SPEC_CV_VAR) \ - _(2918, ZEND_FETCH_STATIC_PROP_UNSET_SPEC_CV_UNUSED) \ - _(2920, ZEND_UNSET_STATIC_PROP_SPEC_CONST_CONST) \ - _(2922, ZEND_UNSET_STATIC_PROP_SPEC_CONST_VAR) \ - _(2923, ZEND_UNSET_STATIC_PROP_SPEC_CONST_UNUSED) \ - _(2925, ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_CONST) \ - _(2927, ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_VAR) \ - _(2928, ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_UNUSED) \ - _(2930, ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_CONST) \ - _(2932, ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_VAR) \ - _(2933, ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_UNUSED) \ - _(2940, ZEND_UNSET_STATIC_PROP_SPEC_CV_CONST) \ - _(2942, ZEND_UNSET_STATIC_PROP_SPEC_CV_VAR) \ - _(2943, ZEND_UNSET_STATIC_PROP_SPEC_CV_UNUSED) \ - _(2945, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_CONST_CONST) \ - _(2947, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_CONST_VAR) \ - _(2948, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_CONST_UNUSED) \ - _(2950, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_TMPVAR_CONST) \ - _(2952, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_TMPVAR_VAR) \ - _(2953, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_TMPVAR_UNUSED) \ - _(2955, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_TMPVAR_CONST) \ - _(2957, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_TMPVAR_VAR) \ - _(2958, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_TMPVAR_UNUSED) \ - _(2965, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_CV_CONST) \ - _(2967, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_CV_VAR) \ - _(2968, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_CV_UNUSED) \ - _(2970, ZEND_FETCH_CLASS_CONSTANT_SPEC_CONST_CONST) \ - _(2972, ZEND_FETCH_CLASS_CONSTANT_SPEC_VAR_CONST) \ - _(2973, ZEND_FETCH_CLASS_CONSTANT_SPEC_UNUSED_CONST) \ - _(2975, ZEND_BIND_LEXICAL_SPEC_TMP_CV) \ - _(2976, ZEND_BIND_STATIC_SPEC_CV_UNUSED) \ - _(2977, ZEND_FETCH_THIS_SPEC_UNUSED_UNUSED) \ - _(2978, ZEND_SEND_FUNC_ARG_SPEC_VAR) \ - _(2979, ZEND_ISSET_ISEMPTY_THIS_SPEC_UNUSED_UNUSED) \ - _(2980, ZEND_SWITCH_LONG_SPEC_CONST_CONST) \ - _(2981, ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST) \ + _(2437, ZEND_DECLARE_INHERITED_CLASS_DELAYED_SPEC_CONST_CONST) \ + _(2488, ZEND_ASSIGN_DIM_SPEC_VAR_CONST_OP_DATA_CONST) \ + _(2489, ZEND_ASSIGN_DIM_SPEC_VAR_CONST_OP_DATA_TMP) \ + _(2490, ZEND_ASSIGN_DIM_SPEC_VAR_CONST_OP_DATA_VAR) \ + _(2492, ZEND_ASSIGN_DIM_SPEC_VAR_CONST_OP_DATA_CV) \ + _(2493, ZEND_ASSIGN_DIM_SPEC_VAR_TMPVAR_OP_DATA_CONST) \ + _(2494, ZEND_ASSIGN_DIM_SPEC_VAR_TMPVAR_OP_DATA_TMP) \ + _(2495, ZEND_ASSIGN_DIM_SPEC_VAR_TMPVAR_OP_DATA_VAR) \ + _(2497, ZEND_ASSIGN_DIM_SPEC_VAR_TMPVAR_OP_DATA_CV) \ + _(2498, ZEND_ASSIGN_DIM_SPEC_VAR_TMPVAR_OP_DATA_CONST) \ + _(2499, ZEND_ASSIGN_DIM_SPEC_VAR_TMPVAR_OP_DATA_TMP) \ + _(2500, ZEND_ASSIGN_DIM_SPEC_VAR_TMPVAR_OP_DATA_VAR) \ + _(2502, ZEND_ASSIGN_DIM_SPEC_VAR_TMPVAR_OP_DATA_CV) \ + _(2503, ZEND_ASSIGN_DIM_SPEC_VAR_UNUSED_OP_DATA_CONST) \ + _(2504, ZEND_ASSIGN_DIM_SPEC_VAR_UNUSED_OP_DATA_TMP) \ + _(2505, ZEND_ASSIGN_DIM_SPEC_VAR_UNUSED_OP_DATA_VAR) \ + _(2507, ZEND_ASSIGN_DIM_SPEC_VAR_UNUSED_OP_DATA_CV) \ + _(2508, ZEND_ASSIGN_DIM_SPEC_VAR_CV_OP_DATA_CONST) \ + _(2509, ZEND_ASSIGN_DIM_SPEC_VAR_CV_OP_DATA_TMP) \ + _(2510, ZEND_ASSIGN_DIM_SPEC_VAR_CV_OP_DATA_VAR) \ + _(2512, ZEND_ASSIGN_DIM_SPEC_VAR_CV_OP_DATA_CV) \ + _(2538, ZEND_ASSIGN_DIM_SPEC_CV_CONST_OP_DATA_CONST) \ + _(2539, ZEND_ASSIGN_DIM_SPEC_CV_CONST_OP_DATA_TMP) \ + _(2540, ZEND_ASSIGN_DIM_SPEC_CV_CONST_OP_DATA_VAR) \ + _(2542, ZEND_ASSIGN_DIM_SPEC_CV_CONST_OP_DATA_CV) \ + _(2543, ZEND_ASSIGN_DIM_SPEC_CV_TMPVAR_OP_DATA_CONST) \ + _(2544, ZEND_ASSIGN_DIM_SPEC_CV_TMPVAR_OP_DATA_TMP) \ + _(2545, ZEND_ASSIGN_DIM_SPEC_CV_TMPVAR_OP_DATA_VAR) \ + _(2547, ZEND_ASSIGN_DIM_SPEC_CV_TMPVAR_OP_DATA_CV) \ + _(2548, ZEND_ASSIGN_DIM_SPEC_CV_TMPVAR_OP_DATA_CONST) \ + _(2549, ZEND_ASSIGN_DIM_SPEC_CV_TMPVAR_OP_DATA_TMP) \ + _(2550, ZEND_ASSIGN_DIM_SPEC_CV_TMPVAR_OP_DATA_VAR) \ + _(2552, ZEND_ASSIGN_DIM_SPEC_CV_TMPVAR_OP_DATA_CV) \ + _(2553, ZEND_ASSIGN_DIM_SPEC_CV_UNUSED_OP_DATA_CONST) \ + _(2554, ZEND_ASSIGN_DIM_SPEC_CV_UNUSED_OP_DATA_TMP) \ + _(2555, ZEND_ASSIGN_DIM_SPEC_CV_UNUSED_OP_DATA_VAR) \ + _(2557, ZEND_ASSIGN_DIM_SPEC_CV_UNUSED_OP_DATA_CV) \ + _(2558, ZEND_ASSIGN_DIM_SPEC_CV_CV_OP_DATA_CONST) \ + _(2559, ZEND_ASSIGN_DIM_SPEC_CV_CV_OP_DATA_TMP) \ + _(2560, ZEND_ASSIGN_DIM_SPEC_CV_CV_OP_DATA_VAR) \ + _(2562, ZEND_ASSIGN_DIM_SPEC_CV_CV_OP_DATA_CV) \ + _(2563, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CONST_CONST) \ + _(2564, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CONST_TMPVAR) \ + _(2565, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CONST_TMPVAR) \ + _(2567, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CONST_CV) \ + _(2568, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_CONST) \ + _(2569, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_TMPVAR) \ + _(2570, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_TMPVAR) \ + _(2572, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_CV) \ + _(2573, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_CONST) \ + _(2574, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_TMPVAR) \ + _(2575, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_TMPVAR) \ + _(2577, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_CV) \ + _(2578, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_UNUSED_CONST) \ + _(2579, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_UNUSED_TMPVAR) \ + _(2580, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_UNUSED_TMPVAR) \ + _(2582, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_UNUSED_CV) \ + _(2583, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CV_CONST) \ + _(2584, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CV_TMPVAR) \ + _(2585, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CV_TMPVAR) \ + _(2587, ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CV_CV) \ + _(2588, ZEND_HANDLE_EXCEPTION_SPEC) \ + _(2589, ZEND_USER_OPCODE_SPEC) \ + _(2590, ZEND_ASSERT_CHECK_SPEC) \ + _(2591, ZEND_JMP_SET_SPEC_CONST) \ + _(2592, ZEND_JMP_SET_SPEC_TMP) \ + _(2593, ZEND_JMP_SET_SPEC_VAR) \ + _(2595, ZEND_JMP_SET_SPEC_CV) \ + _(2596, ZEND_DECLARE_LAMBDA_FUNCTION_SPEC_CONST_UNUSED) \ + _(2597, ZEND_SEPARATE_SPEC_VAR_UNUSED) \ + _(2598, ZEND_FETCH_CLASS_NAME_SPEC_UNUSED) \ + _(2599, ZEND_CALL_TRAMPOLINE_SPEC) \ + _(2600, ZEND_DISCARD_EXCEPTION_SPEC) \ + _(2601, ZEND_YIELD_SPEC_CONST_CONST) \ + _(2602, ZEND_YIELD_SPEC_CONST_TMP) \ + _(2603, ZEND_YIELD_SPEC_CONST_VAR) \ + _(2604, ZEND_YIELD_SPEC_CONST_UNUSED) \ + _(2605, ZEND_YIELD_SPEC_CONST_CV) \ + _(2606, ZEND_YIELD_SPEC_TMP_CONST) \ + _(2607, ZEND_YIELD_SPEC_TMP_TMP) \ + _(2608, ZEND_YIELD_SPEC_TMP_VAR) \ + _(2609, ZEND_YIELD_SPEC_TMP_UNUSED) \ + _(2610, ZEND_YIELD_SPEC_TMP_CV) \ + _(2611, ZEND_YIELD_SPEC_VAR_CONST) \ + _(2612, ZEND_YIELD_SPEC_VAR_TMP) \ + _(2613, ZEND_YIELD_SPEC_VAR_VAR) \ + _(2614, ZEND_YIELD_SPEC_VAR_UNUSED) \ + _(2615, ZEND_YIELD_SPEC_VAR_CV) \ + _(2616, ZEND_YIELD_SPEC_UNUSED_CONST) \ + _(2617, ZEND_YIELD_SPEC_UNUSED_TMP) \ + _(2618, ZEND_YIELD_SPEC_UNUSED_VAR) \ + _(2619, ZEND_YIELD_SPEC_UNUSED_UNUSED) \ + _(2620, ZEND_YIELD_SPEC_UNUSED_CV) \ + _(2621, ZEND_YIELD_SPEC_CV_CONST) \ + _(2622, ZEND_YIELD_SPEC_CV_TMP) \ + _(2623, ZEND_YIELD_SPEC_CV_VAR) \ + _(2624, ZEND_YIELD_SPEC_CV_UNUSED) \ + _(2625, ZEND_YIELD_SPEC_CV_CV) \ + _(2626, ZEND_GENERATOR_RETURN_SPEC_CONST) \ + _(2627, ZEND_GENERATOR_RETURN_SPEC_TMP) \ + _(2628, ZEND_GENERATOR_RETURN_SPEC_VAR) \ + _(2630, ZEND_GENERATOR_RETURN_SPEC_CV) \ + _(2631, ZEND_FAST_CALL_SPEC) \ + _(2632, ZEND_FAST_RET_SPEC) \ + _(2633, ZEND_RECV_VARIADIC_SPEC_UNUSED) \ + _(2634, ZEND_SEND_UNPACK_SPEC) \ + _(2635, ZEND_POW_SPEC_CONST_CONST) \ + _(2636, ZEND_POW_SPEC_CONST_TMPVAR) \ + _(2637, ZEND_POW_SPEC_CONST_TMPVAR) \ + _(2639, ZEND_POW_SPEC_CONST_CV) \ + _(2640, ZEND_POW_SPEC_TMPVAR_CONST) \ + _(2641, ZEND_POW_SPEC_TMPVAR_TMPVAR) \ + _(2642, ZEND_POW_SPEC_TMPVAR_TMPVAR) \ + _(2644, ZEND_POW_SPEC_TMPVAR_CV) \ + _(2645, ZEND_POW_SPEC_TMPVAR_CONST) \ + _(2646, ZEND_POW_SPEC_TMPVAR_TMPVAR) \ + _(2647, ZEND_POW_SPEC_TMPVAR_TMPVAR) \ + _(2649, ZEND_POW_SPEC_TMPVAR_CV) \ + _(2655, ZEND_POW_SPEC_CV_CONST) \ + _(2656, ZEND_POW_SPEC_CV_TMPVAR) \ + _(2657, ZEND_POW_SPEC_CV_TMPVAR) \ + _(2659, ZEND_POW_SPEC_CV_CV) \ + _(2690, ZEND_ASSIGN_POW_SPEC_VAR_CONST) \ + _(2691, ZEND_ASSIGN_POW_SPEC_VAR_CONST_DIM) \ + _(2692, ZEND_ASSIGN_POW_SPEC_VAR_CONST_OBJ) \ + _(2693, ZEND_ASSIGN_POW_SPEC_VAR_TMPVAR) \ + _(2694, ZEND_ASSIGN_POW_SPEC_VAR_TMPVAR_DIM) \ + _(2695, ZEND_ASSIGN_POW_SPEC_VAR_TMPVAR_OBJ) \ + _(2696, ZEND_ASSIGN_POW_SPEC_VAR_TMPVAR) \ + _(2697, ZEND_ASSIGN_POW_SPEC_VAR_TMPVAR_DIM) \ + _(2698, ZEND_ASSIGN_POW_SPEC_VAR_TMPVAR_OBJ) \ + _(2700, ZEND_ASSIGN_POW_SPEC_VAR_UNUSED_DIM) \ + _(2702, ZEND_ASSIGN_POW_SPEC_VAR_CV) \ + _(2703, ZEND_ASSIGN_POW_SPEC_VAR_CV_DIM) \ + _(2704, ZEND_ASSIGN_POW_SPEC_VAR_CV_OBJ) \ + _(2707, ZEND_ASSIGN_POW_SPEC_UNUSED_CONST_OBJ) \ + _(2710, ZEND_ASSIGN_POW_SPEC_UNUSED_TMPVAR_OBJ) \ + _(2713, ZEND_ASSIGN_POW_SPEC_UNUSED_TMPVAR_OBJ) \ + _(2719, ZEND_ASSIGN_POW_SPEC_UNUSED_CV_OBJ) \ + _(2720, ZEND_ASSIGN_POW_SPEC_CV_CONST) \ + _(2721, ZEND_ASSIGN_POW_SPEC_CV_CONST_DIM) \ + _(2722, ZEND_ASSIGN_POW_SPEC_CV_CONST_OBJ) \ + _(2723, ZEND_ASSIGN_POW_SPEC_CV_TMPVAR) \ + _(2724, ZEND_ASSIGN_POW_SPEC_CV_TMPVAR_DIM) \ + _(2725, ZEND_ASSIGN_POW_SPEC_CV_TMPVAR_OBJ) \ + _(2726, ZEND_ASSIGN_POW_SPEC_CV_TMPVAR) \ + _(2727, ZEND_ASSIGN_POW_SPEC_CV_TMPVAR_DIM) \ + _(2728, ZEND_ASSIGN_POW_SPEC_CV_TMPVAR_OBJ) \ + _(2730, ZEND_ASSIGN_POW_SPEC_CV_UNUSED_DIM) \ + _(2732, ZEND_ASSIGN_POW_SPEC_CV_CV) \ + _(2733, ZEND_ASSIGN_POW_SPEC_CV_CV_DIM) \ + _(2734, ZEND_ASSIGN_POW_SPEC_CV_CV_OBJ) \ + _(2735, ZEND_BIND_GLOBAL_SPEC_CV_CONST) \ + _(2736, ZEND_COALESCE_SPEC_CONST) \ + _(2737, ZEND_COALESCE_SPEC_TMPVAR) \ + _(2738, ZEND_COALESCE_SPEC_TMPVAR) \ + _(2740, ZEND_COALESCE_SPEC_CV) \ + _(2741, ZEND_SPACESHIP_SPEC_CONST_CONST) \ + _(2742, ZEND_SPACESHIP_SPEC_CONST_TMPVAR) \ + _(2743, ZEND_SPACESHIP_SPEC_CONST_TMPVAR) \ + _(2745, ZEND_SPACESHIP_SPEC_CONST_CV) \ + _(2746, ZEND_SPACESHIP_SPEC_TMPVAR_CONST) \ + _(2747, ZEND_SPACESHIP_SPEC_TMPVAR_TMPVAR) \ + _(2748, ZEND_SPACESHIP_SPEC_TMPVAR_TMPVAR) \ + _(2750, ZEND_SPACESHIP_SPEC_TMPVAR_CV) \ + _(2751, ZEND_SPACESHIP_SPEC_TMPVAR_CONST) \ + _(2752, ZEND_SPACESHIP_SPEC_TMPVAR_TMPVAR) \ + _(2753, ZEND_SPACESHIP_SPEC_TMPVAR_TMPVAR) \ + _(2755, ZEND_SPACESHIP_SPEC_TMPVAR_CV) \ + _(2761, ZEND_SPACESHIP_SPEC_CV_CONST) \ + _(2762, ZEND_SPACESHIP_SPEC_CV_TMPVAR) \ + _(2763, ZEND_SPACESHIP_SPEC_CV_TMPVAR) \ + _(2765, ZEND_SPACESHIP_SPEC_CV_CV) \ + _(2766, ZEND_DECLARE_ANON_CLASS_SPEC) \ + _(2767, ZEND_DECLARE_ANON_INHERITED_CLASS_SPEC_CONST_CONST) \ + _(2768, ZEND_FETCH_STATIC_PROP_R_SPEC_CONST_CONST) \ + _(2770, ZEND_FETCH_STATIC_PROP_R_SPEC_CONST_VAR) \ + _(2771, ZEND_FETCH_STATIC_PROP_R_SPEC_CONST_UNUSED) \ + _(2773, ZEND_FETCH_STATIC_PROP_R_SPEC_TMPVAR_CONST) \ + _(2775, ZEND_FETCH_STATIC_PROP_R_SPEC_TMPVAR_VAR) \ + _(2776, ZEND_FETCH_STATIC_PROP_R_SPEC_TMPVAR_UNUSED) \ + _(2778, ZEND_FETCH_STATIC_PROP_R_SPEC_TMPVAR_CONST) \ + _(2780, ZEND_FETCH_STATIC_PROP_R_SPEC_TMPVAR_VAR) \ + _(2781, ZEND_FETCH_STATIC_PROP_R_SPEC_TMPVAR_UNUSED) \ + _(2788, ZEND_FETCH_STATIC_PROP_R_SPEC_CV_CONST) \ + _(2790, ZEND_FETCH_STATIC_PROP_R_SPEC_CV_VAR) \ + _(2791, ZEND_FETCH_STATIC_PROP_R_SPEC_CV_UNUSED) \ + _(2793, ZEND_FETCH_STATIC_PROP_W_SPEC_CONST_CONST) \ + _(2795, ZEND_FETCH_STATIC_PROP_W_SPEC_CONST_VAR) \ + _(2796, ZEND_FETCH_STATIC_PROP_W_SPEC_CONST_UNUSED) \ + _(2798, ZEND_FETCH_STATIC_PROP_W_SPEC_TMPVAR_CONST) \ + _(2800, ZEND_FETCH_STATIC_PROP_W_SPEC_TMPVAR_VAR) \ + _(2801, ZEND_FETCH_STATIC_PROP_W_SPEC_TMPVAR_UNUSED) \ + _(2803, ZEND_FETCH_STATIC_PROP_W_SPEC_TMPVAR_CONST) \ + _(2805, ZEND_FETCH_STATIC_PROP_W_SPEC_TMPVAR_VAR) \ + _(2806, ZEND_FETCH_STATIC_PROP_W_SPEC_TMPVAR_UNUSED) \ + _(2813, ZEND_FETCH_STATIC_PROP_W_SPEC_CV_CONST) \ + _(2815, ZEND_FETCH_STATIC_PROP_W_SPEC_CV_VAR) \ + _(2816, ZEND_FETCH_STATIC_PROP_W_SPEC_CV_UNUSED) \ + _(2818, ZEND_FETCH_STATIC_PROP_RW_SPEC_CONST_CONST) \ + _(2820, ZEND_FETCH_STATIC_PROP_RW_SPEC_CONST_VAR) \ + _(2821, ZEND_FETCH_STATIC_PROP_RW_SPEC_CONST_UNUSED) \ + _(2823, ZEND_FETCH_STATIC_PROP_RW_SPEC_TMPVAR_CONST) \ + _(2825, ZEND_FETCH_STATIC_PROP_RW_SPEC_TMPVAR_VAR) \ + _(2826, ZEND_FETCH_STATIC_PROP_RW_SPEC_TMPVAR_UNUSED) \ + _(2828, ZEND_FETCH_STATIC_PROP_RW_SPEC_TMPVAR_CONST) \ + _(2830, ZEND_FETCH_STATIC_PROP_RW_SPEC_TMPVAR_VAR) \ + _(2831, ZEND_FETCH_STATIC_PROP_RW_SPEC_TMPVAR_UNUSED) \ + _(2838, ZEND_FETCH_STATIC_PROP_RW_SPEC_CV_CONST) \ + _(2840, ZEND_FETCH_STATIC_PROP_RW_SPEC_CV_VAR) \ + _(2841, ZEND_FETCH_STATIC_PROP_RW_SPEC_CV_UNUSED) \ + _(2843, ZEND_FETCH_STATIC_PROP_IS_SPEC_CONST_CONST) \ + _(2845, ZEND_FETCH_STATIC_PROP_IS_SPEC_CONST_VAR) \ + _(2846, ZEND_FETCH_STATIC_PROP_IS_SPEC_CONST_UNUSED) \ + _(2848, ZEND_FETCH_STATIC_PROP_IS_SPEC_TMPVAR_CONST) \ + _(2850, ZEND_FETCH_STATIC_PROP_IS_SPEC_TMPVAR_VAR) \ + _(2851, ZEND_FETCH_STATIC_PROP_IS_SPEC_TMPVAR_UNUSED) \ + _(2853, ZEND_FETCH_STATIC_PROP_IS_SPEC_TMPVAR_CONST) \ + _(2855, ZEND_FETCH_STATIC_PROP_IS_SPEC_TMPVAR_VAR) \ + _(2856, ZEND_FETCH_STATIC_PROP_IS_SPEC_TMPVAR_UNUSED) \ + _(2863, ZEND_FETCH_STATIC_PROP_IS_SPEC_CV_CONST) \ + _(2865, ZEND_FETCH_STATIC_PROP_IS_SPEC_CV_VAR) \ + _(2866, ZEND_FETCH_STATIC_PROP_IS_SPEC_CV_UNUSED) \ + _(2868, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_CONST_CONST) \ + _(2870, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_CONST_VAR) \ + _(2871, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_CONST_UNUSED) \ + _(2873, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_TMPVAR_CONST) \ + _(2875, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_TMPVAR_VAR) \ + _(2876, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_TMPVAR_UNUSED) \ + _(2878, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_TMPVAR_CONST) \ + _(2880, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_TMPVAR_VAR) \ + _(2881, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_TMPVAR_UNUSED) \ + _(2888, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_CV_CONST) \ + _(2890, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_CV_VAR) \ + _(2891, ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_CV_UNUSED) \ + _(2893, ZEND_FETCH_STATIC_PROP_UNSET_SPEC_CONST_CONST) \ + _(2895, ZEND_FETCH_STATIC_PROP_UNSET_SPEC_CONST_VAR) \ + _(2896, ZEND_FETCH_STATIC_PROP_UNSET_SPEC_CONST_UNUSED) \ + _(2898, ZEND_FETCH_STATIC_PROP_UNSET_SPEC_TMPVAR_CONST) \ + _(2900, ZEND_FETCH_STATIC_PROP_UNSET_SPEC_TMPVAR_VAR) \ + _(2901, ZEND_FETCH_STATIC_PROP_UNSET_SPEC_TMPVAR_UNUSED) \ + _(2903, ZEND_FETCH_STATIC_PROP_UNSET_SPEC_TMPVAR_CONST) \ + _(2905, ZEND_FETCH_STATIC_PROP_UNSET_SPEC_TMPVAR_VAR) \ + _(2906, ZEND_FETCH_STATIC_PROP_UNSET_SPEC_TMPVAR_UNUSED) \ + _(2913, ZEND_FETCH_STATIC_PROP_UNSET_SPEC_CV_CONST) \ + _(2915, ZEND_FETCH_STATIC_PROP_UNSET_SPEC_CV_VAR) \ + _(2916, ZEND_FETCH_STATIC_PROP_UNSET_SPEC_CV_UNUSED) \ + _(2918, ZEND_UNSET_STATIC_PROP_SPEC_CONST_CONST) \ + _(2920, ZEND_UNSET_STATIC_PROP_SPEC_CONST_VAR) \ + _(2921, ZEND_UNSET_STATIC_PROP_SPEC_CONST_UNUSED) \ + _(2923, ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_CONST) \ + _(2925, ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_VAR) \ + _(2926, ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_UNUSED) \ + _(2928, ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_CONST) \ + _(2930, ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_VAR) \ + _(2931, ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_UNUSED) \ + _(2938, ZEND_UNSET_STATIC_PROP_SPEC_CV_CONST) \ + _(2940, ZEND_UNSET_STATIC_PROP_SPEC_CV_VAR) \ + _(2941, ZEND_UNSET_STATIC_PROP_SPEC_CV_UNUSED) \ + _(2943, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_CONST_CONST) \ + _(2945, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_CONST_VAR) \ + _(2946, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_CONST_UNUSED) \ + _(2948, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_TMPVAR_CONST) \ + _(2950, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_TMPVAR_VAR) \ + _(2951, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_TMPVAR_UNUSED) \ + _(2953, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_TMPVAR_CONST) \ + _(2955, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_TMPVAR_VAR) \ + _(2956, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_TMPVAR_UNUSED) \ + _(2963, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_CV_CONST) \ + _(2965, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_CV_VAR) \ + _(2966, ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_CV_UNUSED) \ + _(2968, ZEND_FETCH_CLASS_CONSTANT_SPEC_CONST_CONST) \ + _(2970, ZEND_FETCH_CLASS_CONSTANT_SPEC_VAR_CONST) \ + _(2971, ZEND_FETCH_CLASS_CONSTANT_SPEC_UNUSED_CONST) \ + _(2973, ZEND_BIND_LEXICAL_SPEC_TMP_CV) \ + _(2974, ZEND_BIND_STATIC_SPEC_CV_UNUSED) \ + _(2975, ZEND_FETCH_THIS_SPEC_UNUSED_UNUSED) \ + _(2976, ZEND_SEND_FUNC_ARG_SPEC_VAR) \ + _(2977, ZEND_ISSET_ISEMPTY_THIS_SPEC_UNUSED_UNUSED) \ + _(2978, ZEND_SWITCH_LONG_SPEC_CONST_CONST) \ + _(2979, ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST) \ + _(2980, ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST) \ _(2982, ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST) \ - _(2984, ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST) \ - _(2985, ZEND_SWITCH_STRING_SPEC_CONST_CONST) \ - _(2986, ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST) \ + _(2983, ZEND_SWITCH_STRING_SPEC_CONST_CONST) \ + _(2984, ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST) \ + _(2985, ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST) \ _(2987, ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST) \ - _(2989, ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST) \ - _(2990, ZEND_IN_ARRAY_SPEC_CONST_CONST) \ - _(2991, ZEND_IN_ARRAY_SPEC_TMP_CONST) \ - _(2992, ZEND_IN_ARRAY_SPEC_VAR_CONST) \ - _(2994, ZEND_IN_ARRAY_SPEC_CV_CONST) \ - _(2995, ZEND_COUNT_SPEC_CONST_UNUSED) \ - _(2996, ZEND_COUNT_SPEC_TMP_UNUSED) \ - _(2997, ZEND_COUNT_SPEC_VAR_UNUSED) \ - _(2999, ZEND_COUNT_SPEC_CV_UNUSED) \ - _(3000, ZEND_GET_CLASS_SPEC_CONST_UNUSED) \ - _(3001, ZEND_GET_CLASS_SPEC_TMP_UNUSED) \ - _(3002, ZEND_GET_CLASS_SPEC_VAR_UNUSED) \ - _(3003, ZEND_GET_CLASS_SPEC_UNUSED_UNUSED) \ - _(3004, ZEND_GET_CLASS_SPEC_CV_UNUSED) \ - _(3005, ZEND_GET_CALLED_CLASS_SPEC_UNUSED_UNUSED) \ - _(3006, ZEND_GET_TYPE_SPEC_CONST_UNUSED) \ - _(3007, ZEND_GET_TYPE_SPEC_TMP_UNUSED) \ - _(3008, ZEND_GET_TYPE_SPEC_VAR_UNUSED) \ - _(3010, ZEND_GET_TYPE_SPEC_CV_UNUSED) \ - _(3011, ZEND_FUNC_NUM_ARGS_SPEC_UNUSED_UNUSED) \ - _(3012, ZEND_FUNC_GET_ARGS_SPEC_CONST_UNUSED) \ - _(3015, ZEND_FUNC_GET_ARGS_SPEC_UNUSED_UNUSED) \ - _(3017, ZEND_UNSET_CV_SPEC_CV_UNUSED) \ - _(3018, ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_SET) \ - _(3019, ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_EMPTY) \ - _(3020, ZEND_FETCH_LIST_W_SPEC_VAR_CONST) \ - _(3021, ZEND_FETCH_LIST_W_SPEC_VAR_TMPVAR) \ - _(3022, ZEND_FETCH_LIST_W_SPEC_VAR_TMPVAR) \ - _(3024, ZEND_FETCH_LIST_W_SPEC_VAR_CV) \ - _(3025, ZEND_JMP_FORWARD_SPEC) \ - _(3031, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ - _(3032, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(2988, ZEND_IN_ARRAY_SPEC_CONST_CONST) \ + _(2989, ZEND_IN_ARRAY_SPEC_TMP_CONST) \ + _(2990, ZEND_IN_ARRAY_SPEC_VAR_CONST) \ + _(2992, ZEND_IN_ARRAY_SPEC_CV_CONST) \ + _(2993, ZEND_COUNT_SPEC_CONST_UNUSED) \ + _(2994, ZEND_COUNT_SPEC_TMP_UNUSED) \ + _(2995, ZEND_COUNT_SPEC_VAR_UNUSED) \ + _(2997, ZEND_COUNT_SPEC_CV_UNUSED) \ + _(2998, ZEND_GET_CLASS_SPEC_CONST_UNUSED) \ + _(2999, ZEND_GET_CLASS_SPEC_TMP_UNUSED) \ + _(3000, ZEND_GET_CLASS_SPEC_VAR_UNUSED) \ + _(3001, ZEND_GET_CLASS_SPEC_UNUSED_UNUSED) \ + _(3002, ZEND_GET_CLASS_SPEC_CV_UNUSED) \ + _(3003, ZEND_GET_CALLED_CLASS_SPEC_UNUSED_UNUSED) \ + _(3004, ZEND_GET_TYPE_SPEC_CONST_UNUSED) \ + _(3005, ZEND_GET_TYPE_SPEC_TMP_UNUSED) \ + _(3006, ZEND_GET_TYPE_SPEC_VAR_UNUSED) \ + _(3008, ZEND_GET_TYPE_SPEC_CV_UNUSED) \ + _(3009, ZEND_FUNC_NUM_ARGS_SPEC_UNUSED_UNUSED) \ + _(3010, ZEND_FUNC_GET_ARGS_SPEC_CONST_UNUSED) \ + _(3013, ZEND_FUNC_GET_ARGS_SPEC_UNUSED_UNUSED) \ + _(3015, ZEND_UNSET_CV_SPEC_CV_UNUSED) \ + _(3016, ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_SET) \ + _(3017, ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_EMPTY) \ + _(3018, ZEND_FETCH_LIST_W_SPEC_VAR_CONST) \ + _(3019, ZEND_FETCH_LIST_W_SPEC_VAR_TMPVAR) \ + _(3020, ZEND_FETCH_LIST_W_SPEC_VAR_TMPVAR) \ + _(3022, ZEND_FETCH_LIST_W_SPEC_VAR_CV) \ + _(3023, ZEND_JMP_FORWARD_SPEC) \ + _(3029, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ + _(3030, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(3031, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ _(3033, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(3034, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ _(3035, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(3036, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ - _(3037, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(3036, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ _(3038, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(3040, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(3046, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ - _(3047, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(3044, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ + _(3045, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(3046, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ _(3048, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(3050, ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(3056, ZEND_ADD_LONG_SPEC_TMPVARCV_CONST) \ - _(3057, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3054, ZEND_ADD_LONG_SPEC_TMPVARCV_CONST) \ + _(3055, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3056, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ _(3058, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3059, ZEND_ADD_LONG_SPEC_TMPVARCV_CONST) \ _(3060, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3061, ZEND_ADD_LONG_SPEC_TMPVARCV_CONST) \ - _(3062, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3061, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ _(3063, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3065, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3071, ZEND_ADD_LONG_SPEC_TMPVARCV_CONST) \ - _(3072, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3069, ZEND_ADD_LONG_SPEC_TMPVARCV_CONST) \ + _(3070, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3071, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ _(3073, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3075, ZEND_ADD_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3081, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(3082, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3079, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(3080, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3081, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ _(3083, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3084, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_CONST) \ _(3085, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3086, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(3087, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3086, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ _(3088, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3090, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3096, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(3097, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3094, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(3095, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3096, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ _(3098, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3100, ZEND_ADD_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3102, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_CONST_TMPVARCV) \ + _(3100, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_CONST_TMPVARCV) \ + _(3101, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_CONST_TMPVARCV) \ _(3103, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_CONST_TMPVARCV) \ - _(3105, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_CONST_TMPVARCV) \ - _(3106, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ - _(3107, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(3104, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ + _(3105, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(3106, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ _(3108, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(3109, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ _(3110, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(3111, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ - _(3112, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(3111, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ _(3113, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(3115, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(3121, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ - _(3122, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(3119, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ + _(3120, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(3121, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ _(3123, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(3125, ZEND_SUB_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(3127, ZEND_SUB_LONG_SPEC_CONST_TMPVARCV) \ + _(3125, ZEND_SUB_LONG_SPEC_CONST_TMPVARCV) \ + _(3126, ZEND_SUB_LONG_SPEC_CONST_TMPVARCV) \ _(3128, ZEND_SUB_LONG_SPEC_CONST_TMPVARCV) \ - _(3130, ZEND_SUB_LONG_SPEC_CONST_TMPVARCV) \ - _(3131, ZEND_SUB_LONG_SPEC_TMPVARCV_CONST) \ - _(3132, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3129, ZEND_SUB_LONG_SPEC_TMPVARCV_CONST) \ + _(3130, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3131, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ _(3133, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3134, ZEND_SUB_LONG_SPEC_TMPVARCV_CONST) \ _(3135, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3136, ZEND_SUB_LONG_SPEC_TMPVARCV_CONST) \ - _(3137, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3136, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ _(3138, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3140, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3146, ZEND_SUB_LONG_SPEC_TMPVARCV_CONST) \ - _(3147, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3144, ZEND_SUB_LONG_SPEC_TMPVARCV_CONST) \ + _(3145, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3146, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ _(3148, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3150, ZEND_SUB_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3152, ZEND_SUB_DOUBLE_SPEC_CONST_TMPVARCV) \ + _(3150, ZEND_SUB_DOUBLE_SPEC_CONST_TMPVARCV) \ + _(3151, ZEND_SUB_DOUBLE_SPEC_CONST_TMPVARCV) \ _(3153, ZEND_SUB_DOUBLE_SPEC_CONST_TMPVARCV) \ - _(3155, ZEND_SUB_DOUBLE_SPEC_CONST_TMPVARCV) \ - _(3156, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(3157, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3154, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(3155, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3156, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ _(3158, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3159, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_CONST) \ _(3160, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3161, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(3162, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3161, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ _(3163, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3165, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3171, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(3172, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3169, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(3170, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3171, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ _(3173, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3175, ZEND_SUB_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3181, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ - _(3182, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(3179, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ + _(3180, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(3181, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ _(3183, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(3184, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ _(3185, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(3186, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ - _(3187, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(3186, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ _(3188, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(3190, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(3196, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ - _(3197, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(3194, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST) \ + _(3195, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ + _(3196, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ _(3198, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(3200, ZEND_MUL_LONG_NO_OVERFLOW_SPEC_TMPVARCV_TMPVARCV) \ - _(3206, ZEND_MUL_LONG_SPEC_TMPVARCV_CONST) \ - _(3207, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3204, ZEND_MUL_LONG_SPEC_TMPVARCV_CONST) \ + _(3205, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3206, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ _(3208, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3209, ZEND_MUL_LONG_SPEC_TMPVARCV_CONST) \ _(3210, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3211, ZEND_MUL_LONG_SPEC_TMPVARCV_CONST) \ - _(3212, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3211, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ _(3213, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3215, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3221, ZEND_MUL_LONG_SPEC_TMPVARCV_CONST) \ - _(3222, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3219, ZEND_MUL_LONG_SPEC_TMPVARCV_CONST) \ + _(3220, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3221, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ _(3223, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3225, ZEND_MUL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3231, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(3232, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3229, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(3230, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3231, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ _(3233, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3234, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_CONST) \ _(3235, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3236, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(3237, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3236, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ _(3238, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3240, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3246, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(3247, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3244, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(3245, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3246, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ _(3248, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3250, ZEND_MUL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3266, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ - _(3267, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ - _(3268, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(3269, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3270, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3271, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3272, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3273, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3274, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3278, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3279, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3280, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3281, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ - _(3282, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ - _(3283, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(3284, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3285, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3286, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3287, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3288, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3289, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3293, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3294, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3295, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3311, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ - _(3312, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ - _(3313, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(3314, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3315, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3316, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3317, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3318, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3319, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3323, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3324, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3325, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3341, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(3342, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ - _(3343, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(3344, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3345, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3346, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3347, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3348, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3349, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3353, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3354, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3355, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3356, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(3357, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ - _(3358, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(3359, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3360, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3361, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3362, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3363, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3364, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3368, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3369, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3370, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3386, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(3387, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ - _(3388, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(3389, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3390, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3391, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3392, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3393, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3394, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3398, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3399, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3400, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3416, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ - _(3417, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ - _(3418, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(3419, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3420, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3421, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3422, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3423, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3424, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3428, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3429, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3430, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3431, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ - _(3432, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ - _(3433, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(3434, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3435, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3436, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3437, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3438, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3439, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3443, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3444, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3445, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3461, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ - _(3462, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ - _(3463, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(3464, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3465, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3466, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3467, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3468, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3469, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3473, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3474, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3475, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3491, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(3492, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ - _(3493, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(3494, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3495, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3496, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3497, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3498, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3499, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3503, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3504, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3505, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3506, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(3507, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ - _(3508, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(3509, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3510, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3511, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3512, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3513, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3514, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3518, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3519, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3520, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3536, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(3537, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ - _(3538, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(3539, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3540, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3541, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3542, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3543, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3544, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3548, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3549, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3550, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3554, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV) \ - _(3555, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPZ) \ - _(3556, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \ - _(3557, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV) \ - _(3558, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPZ) \ - _(3559, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \ - _(3563, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV) \ - _(3564, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPZ) \ - _(3565, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \ - _(3566, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST) \ - _(3567, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ - _(3568, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(3569, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3570, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3571, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3572, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3573, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3574, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3578, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3579, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3580, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3581, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST) \ - _(3582, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ - _(3583, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(3584, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3585, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3586, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3587, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3588, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3589, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3593, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3594, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3595, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3611, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST) \ - _(3612, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ - _(3613, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(3614, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3615, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3616, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3617, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3618, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3619, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3623, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3624, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3625, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3629, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV) \ - _(3630, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \ - _(3631, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \ - _(3632, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV) \ - _(3633, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \ - _(3634, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \ - _(3638, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV) \ - _(3639, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \ - _(3640, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \ - _(3641, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(3642, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ - _(3643, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(3644, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3645, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3646, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3647, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3648, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3649, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3653, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3654, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3655, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3656, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(3657, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ - _(3658, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(3659, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3660, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3661, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3662, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3663, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3664, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3668, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3669, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3670, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3686, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(3687, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ - _(3688, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(3689, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3690, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3691, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3692, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3693, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3694, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3698, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3699, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3700, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3704, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV) \ - _(3705, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPZ) \ - _(3706, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \ - _(3707, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV) \ - _(3708, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPZ) \ - _(3709, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \ - _(3713, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV) \ - _(3714, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPZ) \ - _(3715, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \ - _(3716, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ - _(3717, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ - _(3718, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(3719, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3720, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3721, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3722, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3723, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3724, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3728, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3729, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3730, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3731, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ - _(3732, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ - _(3733, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(3734, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3735, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3736, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3737, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3738, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3739, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3743, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3744, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3745, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3761, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ - _(3762, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ - _(3763, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(3764, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3765, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3766, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3767, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3768, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3769, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3773, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ - _(3774, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3775, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3779, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV) \ - _(3780, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \ - _(3781, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \ - _(3782, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV) \ - _(3783, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \ - _(3784, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \ - _(3788, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV) \ - _(3789, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \ - _(3790, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \ - _(3791, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(3792, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ - _(3793, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(3794, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3795, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3796, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3797, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3798, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3799, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3803, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3804, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3805, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3806, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(3807, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ - _(3808, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(3809, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3810, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3811, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3812, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3813, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3814, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3818, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3819, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3820, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3836, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ - _(3837, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ - _(3838, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ - _(3839, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3840, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3841, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3842, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3843, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3844, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3848, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ - _(3849, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ - _(3850, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ - _(3851, ZEND_PRE_INC_LONG_NO_OVERFLOW_SPEC_TMPVARCV_RETVAL_UNUSED) \ - _(3852, ZEND_PRE_INC_LONG_NO_OVERFLOW_SPEC_TMPVARCV_RETVAL_USED) \ - _(3853, ZEND_PRE_INC_LONG_SPEC_TMPVARCV_RETVAL_UNUSED) \ - _(3854, ZEND_PRE_INC_LONG_SPEC_TMPVARCV_RETVAL_USED) \ - _(3855, ZEND_PRE_INC_LONG_OR_DOUBLE_SPEC_TMPVARCV_RETVAL_UNUSED) \ - _(3856, ZEND_PRE_INC_LONG_OR_DOUBLE_SPEC_TMPVARCV_RETVAL_USED) \ - _(3857, ZEND_PRE_DEC_LONG_NO_OVERFLOW_SPEC_TMPVARCV_RETVAL_UNUSED) \ - _(3858, ZEND_PRE_DEC_LONG_NO_OVERFLOW_SPEC_TMPVARCV_RETVAL_USED) \ - _(3859, ZEND_PRE_DEC_LONG_SPEC_TMPVARCV_RETVAL_UNUSED) \ - _(3860, ZEND_PRE_DEC_LONG_SPEC_TMPVARCV_RETVAL_USED) \ - _(3861, ZEND_PRE_DEC_LONG_OR_DOUBLE_SPEC_TMPVARCV_RETVAL_UNUSED) \ - _(3862, ZEND_PRE_DEC_LONG_OR_DOUBLE_SPEC_TMPVARCV_RETVAL_USED) \ - _(3863, ZEND_POST_INC_LONG_NO_OVERFLOW_SPEC_TMPVARCV) \ - _(3864, ZEND_POST_INC_LONG_SPEC_TMPVARCV) \ - _(3865, ZEND_POST_INC_LONG_OR_DOUBLE_SPEC_TMPVARCV) \ - _(3866, ZEND_POST_DEC_LONG_NO_OVERFLOW_SPEC_TMPVARCV) \ - _(3867, ZEND_POST_DEC_LONG_SPEC_TMPVARCV) \ - _(3868, ZEND_POST_DEC_LONG_OR_DOUBLE_SPEC_TMPVARCV) \ - _(3869, ZEND_QM_ASSIGN_DOUBLE_SPEC_CONST) \ - _(3870, ZEND_QM_ASSIGN_DOUBLE_SPEC_TMPVARCV) \ + _(3264, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ + _(3265, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ + _(3266, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(3267, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3268, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3269, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3270, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3271, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3272, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3276, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3277, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3278, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3279, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ + _(3280, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ + _(3281, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(3282, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3283, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3284, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3285, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3286, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3287, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3291, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3292, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3293, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3309, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ + _(3310, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ + _(3311, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(3312, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3313, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3314, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3315, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3316, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3317, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3321, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3322, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3323, ZEND_IS_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3339, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(3340, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ + _(3341, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(3342, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3343, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3344, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3345, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3346, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3347, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3351, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3352, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3353, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3354, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(3355, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ + _(3356, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(3357, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3358, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3359, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3360, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3361, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3362, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3366, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3367, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3368, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3384, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(3385, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ + _(3386, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(3387, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3388, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3389, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3390, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3391, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3392, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3396, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3397, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3398, ZEND_IS_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3414, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ + _(3415, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ + _(3416, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(3417, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3418, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3419, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3420, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3421, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3422, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3426, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3427, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3428, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3429, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ + _(3430, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ + _(3431, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(3432, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3433, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3434, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3435, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3436, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3437, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3441, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3442, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3443, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3459, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ + _(3460, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ + _(3461, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(3462, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3463, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3464, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3465, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3466, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3467, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3471, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3472, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3473, ZEND_IS_NOT_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3489, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(3490, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ + _(3491, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(3492, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3493, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3494, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3495, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3496, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3497, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3501, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3502, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3503, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3504, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(3505, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ + _(3506, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(3507, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3508, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3509, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3510, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3511, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3512, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3516, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3517, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3518, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3534, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(3535, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ + _(3536, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(3537, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3538, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3539, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3540, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3541, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3542, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3546, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3547, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3548, ZEND_IS_NOT_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3552, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV) \ + _(3553, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPZ) \ + _(3554, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \ + _(3555, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV) \ + _(3556, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPZ) \ + _(3557, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \ + _(3561, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV) \ + _(3562, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPZ) \ + _(3563, ZEND_IS_SMALLER_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \ + _(3564, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST) \ + _(3565, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ + _(3566, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(3567, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3568, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3569, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3570, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3571, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3572, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3576, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3577, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3578, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3579, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST) \ + _(3580, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ + _(3581, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(3582, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3583, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3584, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3585, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3586, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3587, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3591, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3592, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3593, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3609, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST) \ + _(3610, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ + _(3611, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(3612, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3613, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3614, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3615, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3616, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3617, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3621, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3622, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3623, ZEND_IS_SMALLER_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3627, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV) \ + _(3628, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \ + _(3629, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \ + _(3630, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV) \ + _(3631, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \ + _(3632, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \ + _(3636, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV) \ + _(3637, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \ + _(3638, ZEND_IS_SMALLER_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \ + _(3639, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(3640, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ + _(3641, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(3642, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3643, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3644, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3645, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3646, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3647, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3651, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3652, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3653, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3654, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(3655, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ + _(3656, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(3657, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3658, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3659, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3660, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3661, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3662, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3666, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3667, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3668, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3684, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(3685, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ + _(3686, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(3687, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3688, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3689, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3690, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3691, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3692, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3696, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3697, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3698, ZEND_IS_SMALLER_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3702, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV) \ + _(3703, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPZ) \ + _(3704, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \ + _(3705, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV) \ + _(3706, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPZ) \ + _(3707, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \ + _(3711, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV) \ + _(3712, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPZ) \ + _(3713, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_CONST_TMPVARCV_JMPNZ) \ + _(3714, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ + _(3715, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ + _(3716, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(3717, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3718, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3719, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3720, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3721, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3722, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3726, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3727, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3728, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3729, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ + _(3730, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ + _(3731, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(3732, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3733, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3734, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3735, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3736, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3737, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3741, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3742, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3743, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3759, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST) \ + _(3760, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPZ) \ + _(3761, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(3762, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3763, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3764, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3765, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3766, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3767, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3771, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV) \ + _(3772, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3773, ZEND_IS_SMALLER_OR_EQUAL_LONG_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3777, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV) \ + _(3778, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \ + _(3779, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \ + _(3780, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV) \ + _(3781, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \ + _(3782, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \ + _(3786, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV) \ + _(3787, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPZ) \ + _(3788, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ) \ + _(3789, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(3790, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ + _(3791, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(3792, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3793, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3794, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3795, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3796, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3797, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3801, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3802, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3803, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3804, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(3805, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ + _(3806, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(3807, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3808, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3809, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3810, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3811, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3812, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3816, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3817, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3818, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3834, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST) \ + _(3835, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPZ) \ + _(3836, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_CONST_JMPNZ) \ + _(3837, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3838, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3839, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3840, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3841, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3842, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3846, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV) \ + _(3847, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPZ) \ + _(3848, ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ) \ + _(3849, ZEND_PRE_INC_LONG_NO_OVERFLOW_SPEC_TMPVARCV_RETVAL_UNUSED) \ + _(3850, ZEND_PRE_INC_LONG_NO_OVERFLOW_SPEC_TMPVARCV_RETVAL_USED) \ + _(3851, ZEND_PRE_INC_LONG_SPEC_TMPVARCV_RETVAL_UNUSED) \ + _(3852, ZEND_PRE_INC_LONG_SPEC_TMPVARCV_RETVAL_USED) \ + _(3853, ZEND_PRE_INC_LONG_OR_DOUBLE_SPEC_TMPVARCV_RETVAL_UNUSED) \ + _(3854, ZEND_PRE_INC_LONG_OR_DOUBLE_SPEC_TMPVARCV_RETVAL_USED) \ + _(3855, ZEND_PRE_DEC_LONG_NO_OVERFLOW_SPEC_TMPVARCV_RETVAL_UNUSED) \ + _(3856, ZEND_PRE_DEC_LONG_NO_OVERFLOW_SPEC_TMPVARCV_RETVAL_USED) \ + _(3857, ZEND_PRE_DEC_LONG_SPEC_TMPVARCV_RETVAL_UNUSED) \ + _(3858, ZEND_PRE_DEC_LONG_SPEC_TMPVARCV_RETVAL_USED) \ + _(3859, ZEND_PRE_DEC_LONG_OR_DOUBLE_SPEC_TMPVARCV_RETVAL_UNUSED) \ + _(3860, ZEND_PRE_DEC_LONG_OR_DOUBLE_SPEC_TMPVARCV_RETVAL_USED) \ + _(3861, ZEND_POST_INC_LONG_NO_OVERFLOW_SPEC_TMPVARCV) \ + _(3862, ZEND_POST_INC_LONG_SPEC_TMPVARCV) \ + _(3863, ZEND_POST_INC_LONG_OR_DOUBLE_SPEC_TMPVARCV) \ + _(3864, ZEND_POST_DEC_LONG_NO_OVERFLOW_SPEC_TMPVARCV) \ + _(3865, ZEND_POST_DEC_LONG_SPEC_TMPVARCV) \ + _(3866, ZEND_POST_DEC_LONG_OR_DOUBLE_SPEC_TMPVARCV) \ + _(3867, ZEND_QM_ASSIGN_DOUBLE_SPEC_CONST) \ + _(3868, ZEND_QM_ASSIGN_DOUBLE_SPEC_TMPVARCV) \ + _(3869, ZEND_QM_ASSIGN_DOUBLE_SPEC_TMPVARCV) \ _(3871, ZEND_QM_ASSIGN_DOUBLE_SPEC_TMPVARCV) \ - _(3873, ZEND_QM_ASSIGN_DOUBLE_SPEC_TMPVARCV) \ - _(3874, ZEND_QM_ASSIGN_NOREF_SPEC_CONST) \ - _(3875, ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV) \ + _(3872, ZEND_QM_ASSIGN_NOREF_SPEC_CONST) \ + _(3873, ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV) \ + _(3874, ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV) \ _(3876, ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV) \ - _(3878, ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV) \ - _(3880, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \ + _(3878, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \ + _(3879, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \ _(3881, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \ - _(3883, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \ - _(3884, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST) \ - _(3885, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \ + _(3882, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST) \ + _(3883, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \ + _(3884, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \ _(3886, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \ + _(3887, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST) \ _(3888, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \ - _(3889, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST) \ - _(3890, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \ + _(3889, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \ _(3891, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \ - _(3893, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \ - _(3899, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_CONST) \ - _(3900, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \ + _(3897, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_CONST) \ + _(3898, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \ + _(3899, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \ _(3901, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \ - _(3903, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \ - _(3906, ZEND_SEND_VAR_SIMPLE_SPEC_VAR) \ - _(3908, ZEND_SEND_VAR_SIMPLE_SPEC_CV) \ - _(3911, ZEND_SEND_VAR_EX_SIMPLE_SPEC_VAR) \ - _(3913, ZEND_SEND_VAR_EX_SIMPLE_SPEC_CV) \ - _(3914, ZEND_SEND_VAL_SIMPLE_SPEC_CONST) \ - _(3915, ZEND_SEND_VAL_EX_SIMPLE_SPEC_CONST) \ - _(3916, ZEND_FE_FETCH_R_SIMPLE_SPEC_VAR_CV_RETVAL_UNUSED) \ - _(3917, ZEND_FE_FETCH_R_SIMPLE_SPEC_VAR_CV_RETVAL_USED) \ - _(3917+1, ZEND_NULL) + _(3904, ZEND_SEND_VAR_SIMPLE_SPEC_VAR) \ + _(3906, ZEND_SEND_VAR_SIMPLE_SPEC_CV) \ + _(3909, ZEND_SEND_VAR_EX_SIMPLE_SPEC_VAR) \ + _(3911, ZEND_SEND_VAR_EX_SIMPLE_SPEC_CV) \ + _(3912, ZEND_SEND_VAL_SIMPLE_SPEC_CONST) \ + _(3913, ZEND_SEND_VAL_EX_SIMPLE_SPEC_CONST) \ + _(3914, ZEND_FE_FETCH_R_SIMPLE_SPEC_VAR_CV_RETVAL_UNUSED) \ + _(3915, ZEND_FE_FETCH_R_SIMPLE_SPEC_VAR_CV_RETVAL_USED) \ + _(3915+1, ZEND_NULL) diff --git a/Zend/zend_vm_opcodes.c b/Zend/zend_vm_opcodes.c index 9d80242853..787a870f10 100644 --- a/Zend/zend_vm_opcodes.c +++ b/Zend/zend_vm_opcodes.c @@ -167,9 +167,9 @@ static const char *zend_vm_opcodes_names[199] = { "ZEND_DECLARE_FUNCTION", "ZEND_YIELD_FROM", "ZEND_DECLARE_CONST", - "ZEND_ADD_INTERFACE", + NULL, "ZEND_DECLARE_INHERITED_CLASS_DELAYED", - "ZEND_VERIFY_ABSTRACT_CLASS", + NULL, "ZEND_ASSIGN_DIM", "ZEND_ISSET_ISEMPTY_PROP_OBJ", "ZEND_HANDLE_EXCEPTION", @@ -369,7 +369,7 @@ static uint32_t zend_vm_opcodes_flags[199] = { 0x00000000, 0x00000003, 0x00000303, - 0x00040300, + 0x00000000, 0x00000303, 0x00000000, 0x00006701, diff --git a/Zend/zend_vm_opcodes.h b/Zend/zend_vm_opcodes.h index b6df6ef873..9a6a846741 100644 --- a/Zend/zend_vm_opcodes.h +++ b/Zend/zend_vm_opcodes.h @@ -218,9 +218,7 @@ END_EXTERN_C() #define ZEND_DECLARE_FUNCTION 141 #define ZEND_YIELD_FROM 142 #define ZEND_DECLARE_CONST 143 -#define ZEND_ADD_INTERFACE 144 #define ZEND_DECLARE_INHERITED_CLASS_DELAYED 145 -#define ZEND_VERIFY_ABSTRACT_CLASS 146 #define ZEND_ASSIGN_DIM 147 #define ZEND_ISSET_ISEMPTY_PROP_OBJ 148 #define ZEND_HANDLE_EXCEPTION 149 diff --git a/ext/opcache/Optimizer/compact_literals.c b/ext/opcache/Optimizer/compact_literals.c index 228e1d06e4..60995568f6 100644 --- a/ext/opcache/Optimizer/compact_literals.c +++ b/ext/opcache/Optimizer/compact_literals.c @@ -198,7 +198,6 @@ void zend_optimizer_compact_literals(zend_op_array *op_array, zend_optimizer_ctx } break; case ZEND_FETCH_CLASS: - case ZEND_ADD_INTERFACE: case ZEND_INSTANCEOF: if (opline->op2_type == IS_CONST) { LITERAL_INFO(opline->op2.constant, LITERAL_CLASS, 2); diff --git a/ext/opcache/Optimizer/sccp.c b/ext/opcache/Optimizer/sccp.c index 343c678f2d..5a40f6812b 100644 --- a/ext/opcache/Optimizer/sccp.c +++ b/ext/opcache/Optimizer/sccp.c @@ -235,8 +235,6 @@ static zend_bool can_replace_op1( case ZEND_FE_RESET_RW: return 0; /* Do not accept CONST */ - case ZEND_VERIFY_ABSTRACT_CLASS: - case ZEND_ADD_INTERFACE: case ZEND_ROPE_ADD: case ZEND_ROPE_END: case ZEND_BIND_STATIC: diff --git a/ext/opcache/Optimizer/zend_optimizer.c b/ext/opcache/Optimizer/zend_optimizer.c index ffda723558..b0a80a02eb 100644 --- a/ext/opcache/Optimizer/zend_optimizer.c +++ b/ext/opcache/Optimizer/zend_optimizer.c @@ -390,12 +390,6 @@ int zend_optimizer_update_op2_const(zend_op_array *op_array, (opline + 1)->op2.var == opline->result.var) { return 0; } - case ZEND_ADD_INTERFACE: - REQUIRES_STRING(val); - drop_leading_backslash(val); - opline->op2.constant = zend_optimizer_add_literal(op_array, val); - zend_optimizer_add_literal_string(op_array, zend_string_tolower(Z_STR_P(val))); - break; case ZEND_INSTANCEOF: REQUIRES_STRING(val); drop_leading_backslash(val); diff --git a/ext/opcache/zend_accelerator_util_funcs.c b/ext/opcache/zend_accelerator_util_funcs.c index f589c7e172..7fb4c7bfb9 100644 --- a/ext/opcache/zend_accelerator_util_funcs.c +++ b/ext/opcache/zend_accelerator_util_funcs.c @@ -344,12 +344,13 @@ static void zend_class_copy_ctor(zend_class_entry **pce) /* constants table */ zend_hash_clone_constants(&ce->constants_table, &old_ce->constants_table); - /* interfaces aren't really implemented, so we create a new table */ if (ce->num_interfaces) { - ce->interfaces = emalloc(sizeof(zend_class_entry *) * ce->num_interfaces); - memset(ce->interfaces, 0, sizeof(zend_class_entry *) * ce->num_interfaces); - } else { - ce->interfaces = NULL; + zend_class_name *interface_names; + + ZEND_ASSERT(ce->ce_flags & ZEND_ACC_UNRESOLVED_INTERFACES); + interface_names = emalloc(sizeof(zend_class_name) * ce->num_interfaces); + memcpy(interface_names, ce->interface_names, sizeof(zend_class_name) * ce->num_interfaces); + ce->interface_names = interface_names; } zend_update_inherited_handler(constructor); diff --git a/ext/opcache/zend_file_cache.c b/ext/opcache/zend_file_cache.c index f025acb652..4f46c48994 100644 --- a/ext/opcache/zend_file_cache.c +++ b/ext/opcache/zend_file_cache.c @@ -644,6 +644,22 @@ static void zend_file_cache_serialize_class(zval *zv, SERIALIZE_STR(ce->info.user.doc_comment); zend_file_cache_serialize_hash(&ce->properties_info, script, info, buf, zend_file_cache_serialize_prop_info); + if (ce->num_interfaces) { + uint32_t i; + zend_class_name *interface_names; + + ZEND_ASSERT(ce->ce_flags & ZEND_ACC_UNRESOLVED_INTERFACES); + + SERIALIZE_PTR(ce->interface_names); + interface_names = ce->interface_names; + UNSERIALIZE_PTR(interface_names); + + for (i = 0; i < ce->num_interfaces; i++) { + SERIALIZE_STR(interface_names[i].name); + SERIALIZE_STR(interface_names[i].lc_name); + } + } + if (ce->num_traits) { uint32_t i; zend_class_name *trait_names; @@ -1262,6 +1278,18 @@ static void zend_file_cache_unserialize_class(zval *zv, zend_file_cache_unserialize_hash(&ce->properties_info, script, buf, zend_file_cache_unserialize_prop_info, NULL); + if (ce->num_interfaces) { + uint32_t i; + + ZEND_ASSERT(ce->ce_flags & ZEND_ACC_UNRESOLVED_INTERFACES); + UNSERIALIZE_PTR(ce->interface_names); + + for (i = 0; i < ce->num_interfaces; i++) { + UNSERIALIZE_STR(ce->interface_names[i].name); + UNSERIALIZE_STR(ce->interface_names[i].lc_name); + } + } + if (ce->num_traits) { uint32_t i; @@ -1271,54 +1299,54 @@ static void zend_file_cache_unserialize_class(zval *zv, UNSERIALIZE_STR(ce->trait_names[i].name); UNSERIALIZE_STR(ce->trait_names[i].lc_name); } - } - if (ce->trait_aliases) { - zend_trait_alias **p, *q; + if (ce->trait_aliases) { + zend_trait_alias **p, *q; - UNSERIALIZE_PTR(ce->trait_aliases); - p = ce->trait_aliases; + UNSERIALIZE_PTR(ce->trait_aliases); + p = ce->trait_aliases; - while (*p) { - UNSERIALIZE_PTR(*p); - q = *p; + while (*p) { + UNSERIALIZE_PTR(*p); + q = *p; - if (q->trait_method.method_name) { - UNSERIALIZE_STR(q->trait_method.method_name); - } - if (q->trait_method.class_name) { - UNSERIALIZE_STR(q->trait_method.class_name); - } + if (q->trait_method.method_name) { + UNSERIALIZE_STR(q->trait_method.method_name); + } + if (q->trait_method.class_name) { + UNSERIALIZE_STR(q->trait_method.class_name); + } - if (q->alias) { - UNSERIALIZE_STR(q->alias); + if (q->alias) { + UNSERIALIZE_STR(q->alias); + } + p++; } - p++; } - } - if (ce->trait_precedences) { - zend_trait_precedence **p, *q; - int j; + if (ce->trait_precedences) { + zend_trait_precedence **p, *q; + int j; - UNSERIALIZE_PTR(ce->trait_precedences); - p = ce->trait_precedences; + UNSERIALIZE_PTR(ce->trait_precedences); + p = ce->trait_precedences; - while (*p) { - UNSERIALIZE_PTR(*p); - q = *p; + while (*p) { + UNSERIALIZE_PTR(*p); + q = *p; - if (q->trait_method.method_name) { - UNSERIALIZE_STR(q->trait_method.method_name); - } - if (q->trait_method.class_name) { - UNSERIALIZE_STR(q->trait_method.class_name); - } + if (q->trait_method.method_name) { + UNSERIALIZE_STR(q->trait_method.method_name); + } + if (q->trait_method.class_name) { + UNSERIALIZE_STR(q->trait_method.class_name); + } - for (j = 0; j < q->num_excludes; j++) { - UNSERIALIZE_STR(q->exclude_class_names[j]); + for (j = 0; j < q->num_excludes; j++) { + UNSERIALIZE_STR(q->exclude_class_names[j]); + } + p++; } - p++; } } diff --git a/ext/opcache/zend_persist.c b/ext/opcache/zend_persist.c index 9b27750d6f..89e9f46fc6 100644 --- a/ext/opcache/zend_persist.c +++ b/ext/opcache/zend_persist.c @@ -764,7 +764,14 @@ static void zend_persist_class_entry(zval *zv) zend_hash_persist(&ce->properties_info, zend_persist_property_info); if (ce->num_interfaces) { - ZEND_ASSERT(0); + uint32_t i = 0; + + ZEND_ASSERT(ce->ce_flags & ZEND_ACC_UNRESOLVED_INTERFACES); + for (i = 0; i < ce->num_interfaces; i++) { + zend_accel_store_interned_string(ce->interface_names[i].name); + zend_accel_store_interned_string(ce->interface_names[i].lc_name); + } + zend_accel_store(ce->interface_names, sizeof(zend_class_name) * ce->num_interfaces); } if (ce->num_traits) { diff --git a/ext/opcache/zend_persist_calc.c b/ext/opcache/zend_persist_calc.c index c22b79de4d..1ce039641c 100644 --- a/ext/opcache/zend_persist_calc.c +++ b/ext/opcache/zend_persist_calc.c @@ -342,6 +342,17 @@ static void zend_persist_class_entry_calc(zval *zv) zend_hash_persist_calc(&ce->properties_info, zend_persist_property_info_calc); + if (ce->num_interfaces) { + uint32_t i; + + ZEND_ASSERT(ce->ce_flags & ZEND_ACC_UNRESOLVED_INTERFACES); + for (i = 0; i < ce->num_interfaces; i++) { + ADD_INTERNED_STRING(ce->interface_names[i].name, 0); + ADD_INTERNED_STRING(ce->interface_names[i].lc_name, 0); + } + ADD_SIZE(sizeof(zend_class_name) * ce->num_interfaces); + } + if (ce->num_traits) { uint32_t i; diff --git a/ext/reflection/php_reflection.c b/ext/reflection/php_reflection.c index c481e79618..e20479837b 100644 --- a/ext/reflection/php_reflection.c +++ b/ext/reflection/php_reflection.c @@ -324,6 +324,7 @@ static void _class_string(smart_str *str, zend_class_entry *ce, zval *obj, char if (ce->num_interfaces) { uint32_t i; + ZEND_ASSERT(!(ce->ce_flags & ZEND_ACC_UNRESOLVED_INTERFACES)); if (ce->ce_flags & ZEND_ACC_INTERFACE) { smart_str_append_printf(str, " extends %s", ZSTR_VAL(ce->interfaces[0]->name)); } else { @@ -4827,6 +4828,7 @@ ZEND_METHOD(reflection_class, getInterfaces) if (ce->num_interfaces) { uint32_t i; + ZEND_ASSERT(!(ce->ce_flags & ZEND_ACC_UNRESOLVED_INTERFACES)); array_init(return_value); for (i=0; i < ce->num_interfaces; i++) { zval interface; @@ -4858,6 +4860,7 @@ ZEND_METHOD(reflection_class, getInterfaceNames) return; } + ZEND_ASSERT(!(ce->ce_flags & ZEND_ACC_UNRESOLVED_INTERFACES)); array_init(return_value); for (i=0; i < ce->num_interfaces; i++) { diff --git a/ext/reflection/tests/ReflectionClass_getInterfaces_002.phpt b/ext/reflection/tests/ReflectionClass_getInterfaces_002.phpt index 8fa08869da..998bd4bea6 100644 --- a/ext/reflection/tests/ReflectionClass_getInterfaces_002.phpt +++ b/ext/reflection/tests/ReflectionClass_getInterfaces_002.phpt @@ -25,24 +25,24 @@ Array [name] => I6 ) - [I2] => ReflectionClass Object + [I4] => ReflectionClass Object ( - [name] => I2 + [name] => I4 ) - [I1] => ReflectionClass Object + [I3] => ReflectionClass Object ( - [name] => I1 + [name] => I3 ) - [I4] => ReflectionClass Object + [I2] => ReflectionClass Object ( - [name] => I4 + [name] => I2 ) - [I3] => ReflectionClass Object + [I1] => ReflectionClass Object ( - [name] => I3 + [name] => I1 ) [I5] => ReflectionClass Object @@ -50,4 +50,4 @@ Array [name] => I5 ) -)
\ No newline at end of file +) diff --git a/ext/spl/spl_functions.c b/ext/spl/spl_functions.c index ceb5330a9f..6c04bb3cd9 100644 --- a/ext/spl/spl_functions.c +++ b/ext/spl/spl_functions.c @@ -94,8 +94,11 @@ void spl_add_interfaces(zval *list, zend_class_entry * pce, int allow, int ce_fl { uint32_t num_interfaces; - for (num_interfaces = 0; num_interfaces < pce->num_interfaces; num_interfaces++) { - spl_add_class_name(list, pce->interfaces[num_interfaces], allow, ce_flags); + if (pce->num_interfaces) { + ZEND_ASSERT(!(pce->ce_flags & ZEND_ACC_UNRESOLVED_INTERFACES)); + for (num_interfaces = 0; num_interfaces < pce->num_interfaces; num_interfaces++) { + spl_add_class_name(list, pce->interfaces[num_interfaces], allow, ce_flags); + } } } /* }}} */ diff --git a/sapi/phpdbg/phpdbg.c b/sapi/phpdbg/phpdbg.c index e686e21941..d5fd81ea6c 100644 --- a/sapi/phpdbg/phpdbg.c +++ b/sapi/phpdbg/phpdbg.c @@ -481,7 +481,7 @@ static zend_always_inline zend_bool phpdbg_is_ignored_opcode(zend_uchar opcode) return opcode == ZEND_NOP || opcode == ZEND_OP_DATA || opcode == ZEND_FE_FREE || opcode == ZEND_FREE || opcode == ZEND_ASSERT_CHECK || opcode == ZEND_VERIFY_RETURN_TYPE || opcode == ZEND_DECLARE_CONST || opcode == ZEND_DECLARE_CLASS || opcode == ZEND_DECLARE_INHERITED_CLASS || opcode == ZEND_DECLARE_FUNCTION - || opcode == ZEND_DECLARE_INHERITED_CLASS_DELAYED || opcode == ZEND_VERIFY_ABSTRACT_CLASS + || opcode == ZEND_DECLARE_INHERITED_CLASS_DELAYED || opcode == ZEND_DECLARE_ANON_CLASS || opcode == ZEND_DECLARE_ANON_INHERITED_CLASS || opcode == ZEND_FAST_RET || opcode == ZEND_TICKS || opcode == ZEND_EXT_STMT || opcode == ZEND_EXT_FCALL_BEGIN || opcode == ZEND_EXT_FCALL_END || opcode == ZEND_EXT_NOP || opcode == ZEND_BIND_GLOBAL ; |