summaryrefslogtreecommitdiff
path: root/Zend/zend_vm_execute.h
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2019-05-31 00:32:18 +0300
committerDmitry Stogov <dmitry@zend.com>2019-05-31 00:32:18 +0300
commitd7710ef5170998859e256e74b6c19c6d051aabca (patch)
tree295d39514451535ce3797c5f59a6095de5ac7164 /Zend/zend_vm_execute.h
parent8491800eaf389a68310182fc82957c50ea3b6eb3 (diff)
parent1814308e49beb4d2c774bf182b274b0d281f033f (diff)
downloadphp-git-d7710ef5170998859e256e74b6c19c6d051aabca.tar.gz
Merge branch 'PHP-7.4'
* PHP-7.4: Don't specialize "cold" handlers
Diffstat (limited to 'Zend/zend_vm_execute.h')
-rw-r--r--Zend/zend_vm_execute.h1133
1 files changed, 263 insertions, 870 deletions
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
index 147771391d..ef56045303 100644
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@ -1905,6 +1905,60 @@ add_again:
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
}
+static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_STATIC_PROP_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
+{
+ USE_OPLINE
+ zval *varname;
+ zend_string *name, *tmp_name;
+ zend_class_entry *ce;
+ zend_free_op free_op1;
+
+ SAVE_OPLINE();
+
+ if (opline->op2_type == IS_CONST) {
+ ce = CACHED_PTR(opline->extended_value);
+ if (UNEXPECTED(ce == NULL)) {
+ ce = 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_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
+ if (UNEXPECTED(ce == NULL)) {
+ ZEND_ASSERT(EG(exception));
+ FREE_UNFETCHED_OP(opline->op1_type, opline->op1.var);
+ HANDLE_EXCEPTION();
+ }
+ /*CACHE_PTR(opline->extended_value, ce);*/
+ }
+ } else if (opline->op2_type == IS_UNUSED) {
+ ce = zend_fetch_class(NULL, opline->op2.num);
+ if (UNEXPECTED(ce == NULL)) {
+ ZEND_ASSERT(EG(exception));
+ FREE_UNFETCHED_OP(opline->op1_type, opline->op1.var);
+ HANDLE_EXCEPTION();
+ }
+ } else {
+ ce = Z_CE_P(EX_VAR(opline->op2.var));
+ }
+
+ varname = get_zval_ptr_undef(opline->op1_type, opline->op1, &free_op1, BP_VAR_R);
+ if (opline->op1_type == IS_CONST) {
+ name = Z_STR_P(varname);
+ } else if (EXPECTED(Z_TYPE_P(varname) == IS_STRING)) {
+ name = Z_STR_P(varname);
+ tmp_name = NULL;
+ } else {
+ if (opline->op1_type == IS_CV && UNEXPECTED(Z_TYPE_P(varname) == IS_UNDEF)) {
+ varname = ZVAL_UNDEFINED_OP1();
+ }
+ name = zval_get_tmp_string(varname, &tmp_name);
+ }
+
+ zend_std_unset_static_property(ce, name);
+
+ if (opline->op1_type != IS_CONST) {
+ zend_tmp_string_release(tmp_name);
+ }
+ FREE_OP(free_op1);
+ ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
+}
+
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -1927,6 +1981,35 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
}
+static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_EXIT_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
+{
+ USE_OPLINE
+
+ SAVE_OPLINE();
+ if (opline->op1_type != IS_UNUSED) {
+ zend_free_op free_op1;
+ zval *ptr = get_zval_ptr(opline->op1_type, opline->op1, &free_op1, BP_VAR_R);
+
+ do {
+ if (Z_TYPE_P(ptr) == IS_LONG) {
+ EG(exit_status) = Z_LVAL_P(ptr);
+ } else {
+ if ((opline->op1_type & (IS_VAR|IS_CV)) && Z_ISREF_P(ptr)) {
+ ptr = Z_REFVAL_P(ptr);
+ if (Z_TYPE_P(ptr) == IS_LONG) {
+ EG(exit_status) = Z_LVAL_P(ptr);
+ break;
+ }
+ }
+ zend_print_zval(ptr, 0);
+ }
+ } while (0);
+ FREE_OP(free_op1);
+ }
+ zend_bailout();
+ ZEND_VM_NEXT_OPCODE(); /* Never reached */
+}
+
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_BEGIN_SILENCE_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -3801,35 +3884,6 @@ static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FE_RESET_RW_SPEC_
}
}
-static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_EXIT_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
- USE_OPLINE
-
- SAVE_OPLINE();
- if (IS_CONST != IS_UNUSED) {
-
- zval *ptr = RT_CONSTANT(opline, opline->op1);
-
- do {
- if (Z_TYPE_P(ptr) == IS_LONG) {
- EG(exit_status) = Z_LVAL_P(ptr);
- } else {
- if ((IS_CONST & (IS_VAR|IS_CV)) && Z_ISREF_P(ptr)) {
- ptr = Z_REFVAL_P(ptr);
- if (Z_TYPE_P(ptr) == IS_LONG) {
- EG(exit_status) = Z_LVAL_P(ptr);
- break;
- }
- }
- zend_print_zval(ptr, 0);
- }
- } while (0);
-
- }
- zend_bailout();
- ZEND_VM_NEXT_OPCODE(); /* Never reached */
-}
-
static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_JMP_SET_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -5944,60 +5998,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_ARRAY_SPEC_CONST_CONST_HA
}
}
-static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_STATIC_PROP_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
- USE_OPLINE
- zval *varname;
- zend_string *name, *tmp_name;
- zend_class_entry *ce;
-
-
- SAVE_OPLINE();
-
- if (IS_CONST == IS_CONST) {
- ce = CACHED_PTR(opline->extended_value);
- if (UNEXPECTED(ce == NULL)) {
- ce = 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_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
- if (UNEXPECTED(ce == NULL)) {
- ZEND_ASSERT(EG(exception));
-
- HANDLE_EXCEPTION();
- }
- /*CACHE_PTR(opline->extended_value, ce);*/
- }
- } else if (IS_CONST == IS_UNUSED) {
- ce = zend_fetch_class(NULL, opline->op2.num);
- if (UNEXPECTED(ce == NULL)) {
- ZEND_ASSERT(EG(exception));
-
- HANDLE_EXCEPTION();
- }
- } else {
- ce = Z_CE_P(EX_VAR(opline->op2.var));
- }
-
- varname = RT_CONSTANT(opline, opline->op1);
- if (IS_CONST == IS_CONST) {
- name = Z_STR_P(varname);
- } else if (EXPECTED(Z_TYPE_P(varname) == IS_STRING)) {
- name = Z_STR_P(varname);
- tmp_name = NULL;
- } else {
- if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(varname) == IS_UNDEF)) {
- varname = ZVAL_UNDEFINED_OP1();
- }
- name = zval_get_tmp_string(varname, &tmp_name);
- }
-
- zend_std_unset_static_property(ce, name);
-
- if (IS_CONST != IS_CONST) {
- zend_tmp_string_release(tmp_name);
- }
-
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
-}
-
static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -6166,6 +6166,7 @@ array_key_exists_array:
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
}
+/* No specialization for op_types (CONST|TMPVAR|UNUSED|CV, ANY) */
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DECLARE_INHERITED_CLASS_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
zend_class_entry *parent;
@@ -8304,6 +8305,7 @@ array_key_exists_array:
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
}
+/* No specialization for op_types (CONST|TMPVAR|UNUSED|CV, ANY) */
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_YIELD_SPEC_CONST_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -8441,60 +8443,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_YIELD_SPEC_CONST_TMP_HANDLER(Z
ZEND_VM_RETURN();
}
-static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_STATIC_PROP_SPEC_CONST_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
- USE_OPLINE
- zval *varname;
- zend_string *name, *tmp_name;
- zend_class_entry *ce;
-
-
- SAVE_OPLINE();
-
- if (IS_VAR == IS_CONST) {
- ce = CACHED_PTR(opline->extended_value);
- if (UNEXPECTED(ce == NULL)) {
- ce = 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_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
- if (UNEXPECTED(ce == NULL)) {
- ZEND_ASSERT(EG(exception));
-
- HANDLE_EXCEPTION();
- }
- /*CACHE_PTR(opline->extended_value, ce);*/
- }
- } else if (IS_VAR == IS_UNUSED) {
- ce = zend_fetch_class(NULL, opline->op2.num);
- if (UNEXPECTED(ce == NULL)) {
- ZEND_ASSERT(EG(exception));
-
- HANDLE_EXCEPTION();
- }
- } else {
- ce = Z_CE_P(EX_VAR(opline->op2.var));
- }
-
- varname = RT_CONSTANT(opline, opline->op1);
- if (IS_CONST == IS_CONST) {
- name = Z_STR_P(varname);
- } else if (EXPECTED(Z_TYPE_P(varname) == IS_STRING)) {
- name = Z_STR_P(varname);
- tmp_name = NULL;
- } else {
- if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(varname) == IS_UNDEF)) {
- varname = ZVAL_UNDEFINED_OP1();
- }
- name = zval_get_tmp_string(varname, &tmp_name);
- }
-
- zend_std_unset_static_property(ce, name);
-
- if (IS_CONST != IS_CONST) {
- zend_tmp_string_release(tmp_name);
- }
-
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
-}
-
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_YIELD_SPEC_CONST_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -9266,60 +9214,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_VAR_SPEC_CONST_UNUSED_HA
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
}
-static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_STATIC_PROP_SPEC_CONST_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
- USE_OPLINE
- zval *varname;
- zend_string *name, *tmp_name;
- zend_class_entry *ce;
-
-
- SAVE_OPLINE();
-
- if (IS_UNUSED == IS_CONST) {
- ce = CACHED_PTR(opline->extended_value);
- if (UNEXPECTED(ce == NULL)) {
- ce = 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_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
- if (UNEXPECTED(ce == NULL)) {
- ZEND_ASSERT(EG(exception));
-
- HANDLE_EXCEPTION();
- }
- /*CACHE_PTR(opline->extended_value, ce);*/
- }
- } else if (IS_UNUSED == IS_UNUSED) {
- ce = zend_fetch_class(NULL, opline->op2.num);
- if (UNEXPECTED(ce == NULL)) {
- ZEND_ASSERT(EG(exception));
-
- HANDLE_EXCEPTION();
- }
- } else {
- ce = Z_CE_P(EX_VAR(opline->op2.var));
- }
-
- varname = RT_CONSTANT(opline, opline->op1);
- if (IS_CONST == IS_CONST) {
- name = Z_STR_P(varname);
- } else if (EXPECTED(Z_TYPE_P(varname) == IS_STRING)) {
- name = Z_STR_P(varname);
- tmp_name = NULL;
- } else {
- if (IS_CONST == IS_CV && UNEXPECTED(Z_TYPE_P(varname) == IS_UNDEF)) {
- varname = ZVAL_UNDEFINED_OP1();
- }
- name = zval_get_tmp_string(varname, &tmp_name);
- }
-
- zend_std_unset_static_property(ce, name);
-
- if (IS_CONST != IS_CONST) {
- zend_tmp_string_release(tmp_name);
- }
-
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
-}
-
+/* No specialization for op_types (CONST|TMPVAR|CV, UNUSED|CLASS_FETCH|CONST|VAR) */
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ISSET_ISEMPTY_VAR_SPEC_CONST_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -11150,6 +11045,7 @@ array_key_exists_array:
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
}
+/* No specialization for op_types (CONST|TMPVAR|UNUSED|CV, ANY) */
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_YIELD_SPEC_CONST_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -12992,35 +12888,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INCLUDE_OR_EVAL_SPEC_TMPVAR_HA
ZEND_VM_NEXT_OPCODE();
}
-static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_EXIT_SPEC_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
- USE_OPLINE
-
- SAVE_OPLINE();
- if ((IS_TMP_VAR|IS_VAR) != IS_UNUSED) {
- zend_free_op free_op1;
- zval *ptr = _get_zval_ptr_var(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
-
- do {
- if (Z_TYPE_P(ptr) == IS_LONG) {
- EG(exit_status) = Z_LVAL_P(ptr);
- } else {
- if (((IS_TMP_VAR|IS_VAR) & (IS_VAR|IS_CV)) && Z_ISREF_P(ptr)) {
- ptr = Z_REFVAL_P(ptr);
- if (Z_TYPE_P(ptr) == IS_LONG) {
- EG(exit_status) = Z_LVAL_P(ptr);
- break;
- }
- }
- zend_print_zval(ptr, 0);
- }
- } while (0);
- zval_ptr_dtor_nogc(free_op1);
- }
- zend_bailout();
- ZEND_VM_NEXT_OPCODE(); /* Never reached */
-}
-
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_COALESCE_SPEC_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -14439,60 +14306,6 @@ case_false:
}
}
-static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
- USE_OPLINE
- zval *varname;
- zend_string *name, *tmp_name;
- zend_class_entry *ce;
- zend_free_op free_op1;
-
- SAVE_OPLINE();
-
- if (IS_CONST == IS_CONST) {
- ce = CACHED_PTR(opline->extended_value);
- if (UNEXPECTED(ce == NULL)) {
- ce = 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_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
- if (UNEXPECTED(ce == NULL)) {
- ZEND_ASSERT(EG(exception));
- zval_ptr_dtor_nogc(EX_VAR(opline->op1.var));
- HANDLE_EXCEPTION();
- }
- /*CACHE_PTR(opline->extended_value, ce);*/
- }
- } else if (IS_CONST == IS_UNUSED) {
- ce = zend_fetch_class(NULL, opline->op2.num);
- if (UNEXPECTED(ce == NULL)) {
- ZEND_ASSERT(EG(exception));
- zval_ptr_dtor_nogc(EX_VAR(opline->op1.var));
- HANDLE_EXCEPTION();
- }
- } else {
- ce = Z_CE_P(EX_VAR(opline->op2.var));
- }
-
- varname = _get_zval_ptr_var(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
- if ((IS_TMP_VAR|IS_VAR) == IS_CONST) {
- name = Z_STR_P(varname);
- } else if (EXPECTED(Z_TYPE_P(varname) == IS_STRING)) {
- name = Z_STR_P(varname);
- tmp_name = NULL;
- } else {
- if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_P(varname) == IS_UNDEF)) {
- varname = ZVAL_UNDEFINED_OP1();
- }
- name = zval_get_tmp_string(varname, &tmp_name);
- }
-
- zend_std_unset_static_property(ce, name);
-
- if ((IS_TMP_VAR|IS_VAR) != IS_CONST) {
- zend_tmp_string_release(tmp_name);
- }
- zval_ptr_dtor_nogc(free_op1);
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
-}
-
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_TMPVAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -14661,6 +14474,7 @@ array_key_exists_array:
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
}
+/* No specialization for op_types (CONST|TMPVAR|UNUSED|CV, ANY) */
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INSTANCEOF_SPEC_TMPVAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -16272,60 +16086,7 @@ array_key_exists_array:
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
}
-static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
- USE_OPLINE
- zval *varname;
- zend_string *name, *tmp_name;
- zend_class_entry *ce;
- zend_free_op free_op1;
-
- SAVE_OPLINE();
-
- if (IS_VAR == IS_CONST) {
- ce = CACHED_PTR(opline->extended_value);
- if (UNEXPECTED(ce == NULL)) {
- ce = 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_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
- if (UNEXPECTED(ce == NULL)) {
- ZEND_ASSERT(EG(exception));
- zval_ptr_dtor_nogc(EX_VAR(opline->op1.var));
- HANDLE_EXCEPTION();
- }
- /*CACHE_PTR(opline->extended_value, ce);*/
- }
- } else if (IS_VAR == IS_UNUSED) {
- ce = zend_fetch_class(NULL, opline->op2.num);
- if (UNEXPECTED(ce == NULL)) {
- ZEND_ASSERT(EG(exception));
- zval_ptr_dtor_nogc(EX_VAR(opline->op1.var));
- HANDLE_EXCEPTION();
- }
- } else {
- ce = Z_CE_P(EX_VAR(opline->op2.var));
- }
-
- varname = _get_zval_ptr_var(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
- if ((IS_TMP_VAR|IS_VAR) == IS_CONST) {
- name = Z_STR_P(varname);
- } else if (EXPECTED(Z_TYPE_P(varname) == IS_STRING)) {
- name = Z_STR_P(varname);
- tmp_name = NULL;
- } else {
- if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_P(varname) == IS_UNDEF)) {
- varname = ZVAL_UNDEFINED_OP1();
- }
- name = zval_get_tmp_string(varname, &tmp_name);
- }
-
- zend_std_unset_static_property(ce, name);
-
- if ((IS_TMP_VAR|IS_VAR) != IS_CONST) {
- zend_tmp_string_release(tmp_name);
- }
- zval_ptr_dtor_nogc(free_op1);
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
-}
-
+/* No specialization for op_types (CONST|TMPVAR|UNUSED|CV, ANY) */
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INSTANCEOF_SPEC_TMPVAR_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -16529,60 +16290,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_VAR_SPEC_TMPVAR_UNUSED_H
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
}
-static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
- USE_OPLINE
- zval *varname;
- zend_string *name, *tmp_name;
- zend_class_entry *ce;
- zend_free_op free_op1;
-
- SAVE_OPLINE();
-
- if (IS_UNUSED == IS_CONST) {
- ce = CACHED_PTR(opline->extended_value);
- if (UNEXPECTED(ce == NULL)) {
- ce = 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_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
- if (UNEXPECTED(ce == NULL)) {
- ZEND_ASSERT(EG(exception));
- zval_ptr_dtor_nogc(EX_VAR(opline->op1.var));
- HANDLE_EXCEPTION();
- }
- /*CACHE_PTR(opline->extended_value, ce);*/
- }
- } else if (IS_UNUSED == IS_UNUSED) {
- ce = zend_fetch_class(NULL, opline->op2.num);
- if (UNEXPECTED(ce == NULL)) {
- ZEND_ASSERT(EG(exception));
- zval_ptr_dtor_nogc(EX_VAR(opline->op1.var));
- HANDLE_EXCEPTION();
- }
- } else {
- ce = Z_CE_P(EX_VAR(opline->op2.var));
- }
-
- varname = _get_zval_ptr_var(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
- if ((IS_TMP_VAR|IS_VAR) == IS_CONST) {
- name = Z_STR_P(varname);
- } else if (EXPECTED(Z_TYPE_P(varname) == IS_STRING)) {
- name = Z_STR_P(varname);
- tmp_name = NULL;
- } else {
- if ((IS_TMP_VAR|IS_VAR) == IS_CV && UNEXPECTED(Z_TYPE_P(varname) == IS_UNDEF)) {
- varname = ZVAL_UNDEFINED_OP1();
- }
- name = zval_get_tmp_string(varname, &tmp_name);
- }
-
- zend_std_unset_static_property(ce, name);
-
- if ((IS_TMP_VAR|IS_VAR) != IS_CONST) {
- zend_tmp_string_release(tmp_name);
- }
- zval_ptr_dtor_nogc(free_op1);
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
-}
-
+/* No specialization for op_types (CONST|TMPVAR|CV, UNUSED|CLASS_FETCH|CONST|VAR) */
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ISSET_ISEMPTY_VAR_SPEC_TMPVAR_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -17855,6 +17563,7 @@ array_key_exists_array:
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
}
+/* No specialization for op_types (CONST|TMPVAR|UNUSED|CV, ANY) */
static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_RETURN_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -32585,35 +32294,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CLONE_SPEC_UNUSED_HANDLER(ZEND
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
}
-static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_EXIT_SPEC_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
- USE_OPLINE
-
- SAVE_OPLINE();
- if (IS_UNUSED != IS_UNUSED) {
-
- zval *ptr = NULL;
-
- do {
- if (Z_TYPE_P(ptr) == IS_LONG) {
- EG(exit_status) = Z_LVAL_P(ptr);
- } else {
- if ((IS_UNUSED & (IS_VAR|IS_CV)) && Z_ISREF_P(ptr)) {
- ptr = Z_REFVAL_P(ptr);
- if (Z_TYPE_P(ptr) == IS_LONG) {
- EG(exit_status) = Z_LVAL_P(ptr);
- break;
- }
- }
- zend_print_zval(ptr, 0);
- }
- } while (0);
-
- }
- zend_bailout();
- ZEND_VM_NEXT_OPCODE(); /* Never reached */
-}
-
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_CLASS_NAME_SPEC_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
uint32_t fetch_type;
@@ -40815,35 +40495,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FE_RESET_RW_SPEC_CV_HANDLER(ZE
}
}
-static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_EXIT_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
- USE_OPLINE
-
- SAVE_OPLINE();
- if (IS_CV != IS_UNUSED) {
-
- zval *ptr = _get_zval_ptr_cv_BP_VAR_R(opline->op1.var EXECUTE_DATA_CC);
-
- do {
- if (Z_TYPE_P(ptr) == IS_LONG) {
- EG(exit_status) = Z_LVAL_P(ptr);
- } else {
- if ((IS_CV & (IS_VAR|IS_CV)) && Z_ISREF_P(ptr)) {
- ptr = Z_REFVAL_P(ptr);
- if (Z_TYPE_P(ptr) == IS_LONG) {
- EG(exit_status) = Z_LVAL_P(ptr);
- break;
- }
- }
- zend_print_zval(ptr, 0);
- }
- } while (0);
-
- }
- zend_bailout();
- ZEND_VM_NEXT_OPCODE(); /* Never reached */
-}
-
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_JMP_SET_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -44757,60 +44408,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INIT_ARRAY_SPEC_CV_CONST_HANDL
}
}
-static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_STATIC_PROP_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
- USE_OPLINE
- zval *varname;
- zend_string *name, *tmp_name;
- zend_class_entry *ce;
-
-
- SAVE_OPLINE();
-
- if (IS_CONST == IS_CONST) {
- ce = CACHED_PTR(opline->extended_value);
- if (UNEXPECTED(ce == NULL)) {
- ce = 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_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
- if (UNEXPECTED(ce == NULL)) {
- ZEND_ASSERT(EG(exception));
-
- HANDLE_EXCEPTION();
- }
- /*CACHE_PTR(opline->extended_value, ce);*/
- }
- } else if (IS_CONST == IS_UNUSED) {
- ce = zend_fetch_class(NULL, opline->op2.num);
- if (UNEXPECTED(ce == NULL)) {
- ZEND_ASSERT(EG(exception));
-
- HANDLE_EXCEPTION();
- }
- } else {
- ce = Z_CE_P(EX_VAR(opline->op2.var));
- }
-
- varname = EX_VAR(opline->op1.var);
- if (IS_CV == IS_CONST) {
- name = Z_STR_P(varname);
- } else if (EXPECTED(Z_TYPE_P(varname) == IS_STRING)) {
- name = Z_STR_P(varname);
- tmp_name = NULL;
- } else {
- if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_P(varname) == IS_UNDEF)) {
- varname = ZVAL_UNDEFINED_OP1();
- }
- name = zval_get_tmp_string(varname, &tmp_name);
- }
-
- zend_std_unset_static_property(ce, name);
-
- if (IS_CV != IS_CONST) {
- zend_tmp_string_release(tmp_name);
- }
-
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
-}
-
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_DIM_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -45110,6 +44707,7 @@ array_key_exists_array:
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
}
+/* No specialization for op_types (CONST|TMPVAR|UNUSED|CV, ANY) */
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INSTANCEOF_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -49289,6 +48887,7 @@ array_key_exists_array:
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
}
+/* No specialization for op_types (CONST|TMPVAR|UNUSED|CV, ANY) */
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_IDENTICAL_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -49650,60 +49249,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ASSIGN_REF_SPEC_CV_VAR_HANDLER
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
}
-static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_STATIC_PROP_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
- USE_OPLINE
- zval *varname;
- zend_string *name, *tmp_name;
- zend_class_entry *ce;
-
-
- SAVE_OPLINE();
-
- if (IS_VAR == IS_CONST) {
- ce = CACHED_PTR(opline->extended_value);
- if (UNEXPECTED(ce == NULL)) {
- ce = 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_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
- if (UNEXPECTED(ce == NULL)) {
- ZEND_ASSERT(EG(exception));
-
- HANDLE_EXCEPTION();
- }
- /*CACHE_PTR(opline->extended_value, ce);*/
- }
- } else if (IS_VAR == IS_UNUSED) {
- ce = zend_fetch_class(NULL, opline->op2.num);
- if (UNEXPECTED(ce == NULL)) {
- ZEND_ASSERT(EG(exception));
-
- HANDLE_EXCEPTION();
- }
- } else {
- ce = Z_CE_P(EX_VAR(opline->op2.var));
- }
-
- varname = EX_VAR(opline->op1.var);
- if (IS_CV == IS_CONST) {
- name = Z_STR_P(varname);
- } else if (EXPECTED(Z_TYPE_P(varname) == IS_STRING)) {
- name = Z_STR_P(varname);
- tmp_name = NULL;
- } else {
- if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_P(varname) == IS_UNDEF)) {
- varname = ZVAL_UNDEFINED_OP1();
- }
- name = zval_get_tmp_string(varname, &tmp_name);
- }
-
- zend_std_unset_static_property(ce, name);
-
- if (IS_CV != IS_CONST) {
- zend_tmp_string_release(tmp_name);
- }
-
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
-}
-
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_INSTANCEOF_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -51033,60 +50578,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_VAR_SPEC_CV_UNUSED_HANDL
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
}
-static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_UNSET_STATIC_PROP_SPEC_CV_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
- USE_OPLINE
- zval *varname;
- zend_string *name, *tmp_name;
- zend_class_entry *ce;
-
-
- SAVE_OPLINE();
-
- if (IS_UNUSED == IS_CONST) {
- ce = CACHED_PTR(opline->extended_value);
- if (UNEXPECTED(ce == NULL)) {
- ce = 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_DEFAULT | ZEND_FETCH_CLASS_EXCEPTION);
- if (UNEXPECTED(ce == NULL)) {
- ZEND_ASSERT(EG(exception));
-
- HANDLE_EXCEPTION();
- }
- /*CACHE_PTR(opline->extended_value, ce);*/
- }
- } else if (IS_UNUSED == IS_UNUSED) {
- ce = zend_fetch_class(NULL, opline->op2.num);
- if (UNEXPECTED(ce == NULL)) {
- ZEND_ASSERT(EG(exception));
-
- HANDLE_EXCEPTION();
- }
- } else {
- ce = Z_CE_P(EX_VAR(opline->op2.var));
- }
-
- varname = EX_VAR(opline->op1.var);
- if (IS_CV == IS_CONST) {
- name = Z_STR_P(varname);
- } else if (EXPECTED(Z_TYPE_P(varname) == IS_STRING)) {
- name = Z_STR_P(varname);
- tmp_name = NULL;
- } else {
- if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_P(varname) == IS_UNDEF)) {
- varname = ZVAL_UNDEFINED_OP1();
- }
- name = zval_get_tmp_string(varname, &tmp_name);
- }
-
- zend_std_unset_static_property(ce, name);
-
- if (IS_CV != IS_CONST) {
- zend_tmp_string_release(tmp_name);
- }
-
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
-}
-
+/* No specialization for op_types (CONST|TMPVAR|CV, UNUSED|CLASS_FETCH|CONST|VAR) */
static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_SET_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -55376,6 +54868,7 @@ array_key_exists_array:
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
}
+/* No specialization for op_types (CONST|TMPVAR|UNUSED|CV, ANY) */
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_YIELD_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -57477,11 +56970,7 @@ ZEND_API void execute_ex(zend_execute_data *ex)
(void*)&&ZEND_NULL_LABEL,
(void*)&&ZEND_FE_RESET_R_SPEC_CV_LABEL,
(void*)&&ZEND_FE_FETCH_R_SPEC_VAR_LABEL,
- (void*)&&ZEND_EXIT_SPEC_CONST_LABEL,
- (void*)&&ZEND_EXIT_SPEC_TMPVAR_LABEL,
- (void*)&&ZEND_EXIT_SPEC_TMPVAR_LABEL,
- (void*)&&ZEND_EXIT_SPEC_UNUSED_LABEL,
- (void*)&&ZEND_EXIT_SPEC_CV_LABEL,
+ (void*)&&ZEND_EXIT_SPEC_LABEL,
(void*)&&ZEND_FETCH_R_SPEC_CONST_UNUSED_LABEL,
(void*)&&ZEND_FETCH_R_SPEC_TMPVAR_UNUSED_LABEL,
(void*)&&ZEND_FETCH_R_SPEC_TMPVAR_UNUSED_LABEL,
@@ -58629,31 +58118,7 @@ ZEND_API void execute_ex(zend_execute_data *ex)
(void*)&&ZEND_FETCH_STATIC_PROP_IS_SPEC_LABEL,
(void*)&&ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_LABEL,
(void*)&&ZEND_FETCH_STATIC_PROP_UNSET_SPEC_LABEL,
- (void*)&&ZEND_UNSET_STATIC_PROP_SPEC_CONST_CONST_LABEL,
- (void*)&&ZEND_NULL_LABEL,
- (void*)&&ZEND_UNSET_STATIC_PROP_SPEC_CONST_VAR_LABEL,
- (void*)&&ZEND_UNSET_STATIC_PROP_SPEC_CONST_UNUSED_LABEL,
- (void*)&&ZEND_NULL_LABEL,
- (void*)&&ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_CONST_LABEL,
- (void*)&&ZEND_NULL_LABEL,
- (void*)&&ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_VAR_LABEL,
- (void*)&&ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_UNUSED_LABEL,
- (void*)&&ZEND_NULL_LABEL,
- (void*)&&ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_CONST_LABEL,
- (void*)&&ZEND_NULL_LABEL,
- (void*)&&ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_VAR_LABEL,
- (void*)&&ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_UNUSED_LABEL,
- (void*)&&ZEND_NULL_LABEL,
- (void*)&&ZEND_NULL_LABEL,
- (void*)&&ZEND_NULL_LABEL,
- (void*)&&ZEND_NULL_LABEL,
- (void*)&&ZEND_NULL_LABEL,
- (void*)&&ZEND_NULL_LABEL,
- (void*)&&ZEND_UNSET_STATIC_PROP_SPEC_CV_CONST_LABEL,
- (void*)&&ZEND_NULL_LABEL,
- (void*)&&ZEND_UNSET_STATIC_PROP_SPEC_CV_VAR_LABEL,
- (void*)&&ZEND_UNSET_STATIC_PROP_SPEC_CV_UNUSED_LABEL,
- (void*)&&ZEND_NULL_LABEL,
+ (void*)&&ZEND_UNSET_STATIC_PROP_SPEC_LABEL,
(void*)&&ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_LABEL,
(void*)&&ZEND_FETCH_CLASS_CONSTANT_SPEC_CONST_CONST_LABEL,
(void*)&&ZEND_NULL_LABEL,
@@ -60016,10 +59481,18 @@ zend_leave_helper_SPEC_LABEL:
VM_TRACE(ZEND_ADD_ARRAY_UNPACK_SPEC)
ZEND_ADD_ARRAY_UNPACK_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
+ HYBRID_CASE(ZEND_UNSET_STATIC_PROP_SPEC):
+ VM_TRACE(ZEND_UNSET_STATIC_PROP_SPEC)
+ ZEND_UNSET_STATIC_PROP_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
+ HYBRID_BREAK();
HYBRID_CASE(ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC):
VM_TRACE(ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC)
ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
+ HYBRID_CASE(ZEND_EXIT_SPEC):
+ VM_TRACE(ZEND_EXIT_SPEC)
+ ZEND_EXIT_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
+ HYBRID_BREAK();
HYBRID_CASE(ZEND_BEGIN_SILENCE_SPEC):
VM_TRACE(ZEND_BEGIN_SILENCE_SPEC)
ZEND_BEGIN_SILENCE_SPEC_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -60282,10 +59755,6 @@ zend_leave_helper_SPEC_LABEL:
VM_TRACE(ZEND_FE_RESET_RW_SPEC_CONST)
ZEND_FE_RESET_RW_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
- HYBRID_CASE(ZEND_EXIT_SPEC_CONST):
- VM_TRACE(ZEND_EXIT_SPEC_CONST)
- ZEND_EXIT_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
- HYBRID_BREAK();
HYBRID_CASE(ZEND_JMP_SET_SPEC_CONST):
VM_TRACE(ZEND_JMP_SET_SPEC_CONST)
ZEND_JMP_SET_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -60514,10 +59983,6 @@ zend_leave_helper_SPEC_LABEL:
VM_TRACE(ZEND_INIT_ARRAY_SPEC_CONST_CONST)
ZEND_INIT_ARRAY_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
- HYBRID_CASE(ZEND_UNSET_STATIC_PROP_SPEC_CONST_CONST):
- VM_TRACE(ZEND_UNSET_STATIC_PROP_SPEC_CONST_CONST)
- ZEND_UNSET_STATIC_PROP_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
- HYBRID_BREAK();
HYBRID_CASE(ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_CONST_CONST):
VM_TRACE(ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_CONST_CONST)
ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_CONST_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -60786,10 +60251,6 @@ zend_leave_helper_SPEC_LABEL:
VM_TRACE(ZEND_YIELD_SPEC_CONST_TMP)
ZEND_YIELD_SPEC_CONST_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
- HYBRID_CASE(ZEND_UNSET_STATIC_PROP_SPEC_CONST_VAR):
- VM_TRACE(ZEND_UNSET_STATIC_PROP_SPEC_CONST_VAR)
- ZEND_UNSET_STATIC_PROP_SPEC_CONST_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
- HYBRID_BREAK();
HYBRID_CASE(ZEND_YIELD_SPEC_CONST_VAR):
VM_TRACE(ZEND_YIELD_SPEC_CONST_VAR)
ZEND_YIELD_SPEC_CONST_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -60894,10 +60355,6 @@ zend_leave_helper_SPEC_LABEL:
VM_TRACE(ZEND_UNSET_VAR_SPEC_CONST_UNUSED)
ZEND_UNSET_VAR_SPEC_CONST_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
- HYBRID_CASE(ZEND_UNSET_STATIC_PROP_SPEC_CONST_UNUSED):
- VM_TRACE(ZEND_UNSET_STATIC_PROP_SPEC_CONST_UNUSED)
- ZEND_UNSET_STATIC_PROP_SPEC_CONST_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
- HYBRID_BREAK();
HYBRID_CASE(ZEND_ISSET_ISEMPTY_VAR_SPEC_CONST_UNUSED):
VM_TRACE(ZEND_ISSET_ISEMPTY_VAR_SPEC_CONST_UNUSED)
ZEND_ISSET_ISEMPTY_VAR_SPEC_CONST_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -61458,10 +60915,6 @@ zend_leave_helper_SPEC_LABEL:
VM_TRACE(ZEND_INCLUDE_OR_EVAL_SPEC_TMPVAR)
ZEND_INCLUDE_OR_EVAL_SPEC_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
- HYBRID_CASE(ZEND_EXIT_SPEC_TMPVAR):
- VM_TRACE(ZEND_EXIT_SPEC_TMPVAR)
- ZEND_EXIT_SPEC_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
- HYBRID_BREAK();
HYBRID_CASE(ZEND_COALESCE_SPEC_TMPVAR):
VM_TRACE(ZEND_COALESCE_SPEC_TMPVAR)
ZEND_COALESCE_SPEC_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -61574,10 +61027,6 @@ zend_leave_helper_SPEC_LABEL:
VM_TRACE(ZEND_CASE_SPEC_TMPVAR_CONST)
ZEND_CASE_SPEC_TMPVAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
- HYBRID_CASE(ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_CONST):
- VM_TRACE(ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_CONST)
- ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
- HYBRID_BREAK();
HYBRID_CASE(ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_TMPVAR_CONST):
VM_TRACE(ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_TMPVAR_CONST)
ZEND_ISSET_ISEMPTY_DIM_OBJ_SPEC_TMPVAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -61714,10 +61163,6 @@ zend_leave_helper_SPEC_LABEL:
VM_TRACE(ZEND_ARRAY_KEY_EXISTS_SPEC_TMPVAR_TMPVAR)
ZEND_ARRAY_KEY_EXISTS_SPEC_TMPVAR_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
- HYBRID_CASE(ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_VAR):
- VM_TRACE(ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_VAR)
- ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
- HYBRID_BREAK();
HYBRID_CASE(ZEND_INSTANCEOF_SPEC_TMPVAR_VAR):
VM_TRACE(ZEND_INSTANCEOF_SPEC_TMPVAR_VAR)
ZEND_INSTANCEOF_SPEC_TMPVAR_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -61750,10 +61195,6 @@ zend_leave_helper_SPEC_LABEL:
VM_TRACE(ZEND_UNSET_VAR_SPEC_TMPVAR_UNUSED)
ZEND_UNSET_VAR_SPEC_TMPVAR_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
- HYBRID_CASE(ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_UNUSED):
- VM_TRACE(ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_UNUSED)
- ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
- HYBRID_BREAK();
HYBRID_CASE(ZEND_ISSET_ISEMPTY_VAR_SPEC_TMPVAR_UNUSED):
VM_TRACE(ZEND_ISSET_ISEMPTY_VAR_SPEC_TMPVAR_UNUSED)
ZEND_ISSET_ISEMPTY_VAR_SPEC_TMPVAR_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -63582,10 +63023,6 @@ zend_leave_helper_SPEC_LABEL:
VM_TRACE(ZEND_CLONE_SPEC_UNUSED)
ZEND_CLONE_SPEC_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
- HYBRID_CASE(ZEND_EXIT_SPEC_UNUSED):
- VM_TRACE(ZEND_EXIT_SPEC_UNUSED)
- ZEND_EXIT_SPEC_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
- HYBRID_BREAK();
HYBRID_CASE(ZEND_FETCH_CLASS_NAME_SPEC_UNUSED):
VM_TRACE(ZEND_FETCH_CLASS_NAME_SPEC_UNUSED)
ZEND_FETCH_CLASS_NAME_SPEC_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -64264,10 +63701,6 @@ zend_leave_helper_SPEC_LABEL:
VM_TRACE(ZEND_FE_RESET_RW_SPEC_CV)
ZEND_FE_RESET_RW_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
- HYBRID_CASE(ZEND_EXIT_SPEC_CV):
- VM_TRACE(ZEND_EXIT_SPEC_CV)
- ZEND_EXIT_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
- HYBRID_BREAK();
HYBRID_CASE(ZEND_JMP_SET_SPEC_CV):
VM_TRACE(ZEND_JMP_SET_SPEC_CV)
ZEND_JMP_SET_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -64700,10 +64133,6 @@ zend_leave_helper_SPEC_LABEL:
VM_TRACE(ZEND_INIT_ARRAY_SPEC_CV_CONST)
ZEND_INIT_ARRAY_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
- HYBRID_CASE(ZEND_UNSET_STATIC_PROP_SPEC_CV_CONST):
- VM_TRACE(ZEND_UNSET_STATIC_PROP_SPEC_CV_CONST)
- ZEND_UNSET_STATIC_PROP_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
- HYBRID_BREAK();
HYBRID_CASE(ZEND_UNSET_DIM_SPEC_CV_CONST):
VM_TRACE(ZEND_UNSET_DIM_SPEC_CV_CONST)
ZEND_UNSET_DIM_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -65192,10 +64621,6 @@ zend_leave_helper_SPEC_LABEL:
VM_TRACE(ZEND_ASSIGN_REF_SPEC_CV_VAR)
ZEND_ASSIGN_REF_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
- HYBRID_CASE(ZEND_UNSET_STATIC_PROP_SPEC_CV_VAR):
- VM_TRACE(ZEND_UNSET_STATIC_PROP_SPEC_CV_VAR)
- ZEND_UNSET_STATIC_PROP_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
- HYBRID_BREAK();
HYBRID_CASE(ZEND_INSTANCEOF_SPEC_CV_VAR):
VM_TRACE(ZEND_INSTANCEOF_SPEC_CV_VAR)
ZEND_INSTANCEOF_SPEC_CV_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -65372,10 +64797,6 @@ zend_leave_helper_SPEC_LABEL:
VM_TRACE(ZEND_UNSET_VAR_SPEC_CV_UNUSED)
ZEND_UNSET_VAR_SPEC_CV_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
- HYBRID_CASE(ZEND_UNSET_STATIC_PROP_SPEC_CV_UNUSED):
- VM_TRACE(ZEND_UNSET_STATIC_PROP_SPEC_CV_UNUSED)
- ZEND_UNSET_STATIC_PROP_SPEC_CV_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
- HYBRID_BREAK();
HYBRID_CASE(ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_SET):
VM_TRACE(ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_SET)
ZEND_ISSET_ISEMPTY_CV_SPEC_CV_UNUSED_SET_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -67796,11 +67217,7 @@ void zend_vm_init(void)
ZEND_NULL_HANDLER,
ZEND_FE_RESET_R_SPEC_CV_HANDLER,
ZEND_FE_FETCH_R_SPEC_VAR_HANDLER,
- ZEND_EXIT_SPEC_CONST_HANDLER,
- ZEND_EXIT_SPEC_TMPVAR_HANDLER,
- ZEND_EXIT_SPEC_TMPVAR_HANDLER,
- ZEND_EXIT_SPEC_UNUSED_HANDLER,
- ZEND_EXIT_SPEC_CV_HANDLER,
+ ZEND_EXIT_SPEC_HANDLER,
ZEND_FETCH_R_SPEC_CONST_UNUSED_HANDLER,
ZEND_FETCH_R_SPEC_TMPVAR_UNUSED_HANDLER,
ZEND_FETCH_R_SPEC_TMPVAR_UNUSED_HANDLER,
@@ -68948,31 +68365,7 @@ void zend_vm_init(void)
ZEND_FETCH_STATIC_PROP_IS_SPEC_HANDLER,
ZEND_FETCH_STATIC_PROP_FUNC_ARG_SPEC_HANDLER,
ZEND_FETCH_STATIC_PROP_UNSET_SPEC_HANDLER,
- ZEND_UNSET_STATIC_PROP_SPEC_CONST_CONST_HANDLER,
- ZEND_NULL_HANDLER,
- ZEND_UNSET_STATIC_PROP_SPEC_CONST_VAR_HANDLER,
- ZEND_UNSET_STATIC_PROP_SPEC_CONST_UNUSED_HANDLER,
- ZEND_NULL_HANDLER,
- ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_CONST_HANDLER,
- ZEND_NULL_HANDLER,
- ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_VAR_HANDLER,
- ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_UNUSED_HANDLER,
- ZEND_NULL_HANDLER,
- ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_CONST_HANDLER,
- ZEND_NULL_HANDLER,
- ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_VAR_HANDLER,
- ZEND_UNSET_STATIC_PROP_SPEC_TMPVAR_UNUSED_HANDLER,
- ZEND_NULL_HANDLER,
- ZEND_NULL_HANDLER,
- ZEND_NULL_HANDLER,
- ZEND_NULL_HANDLER,
- ZEND_NULL_HANDLER,
- ZEND_NULL_HANDLER,
- ZEND_UNSET_STATIC_PROP_SPEC_CV_CONST_HANDLER,
- ZEND_NULL_HANDLER,
- ZEND_UNSET_STATIC_PROP_SPEC_CV_VAR_HANDLER,
- ZEND_UNSET_STATIC_PROP_SPEC_CV_UNUSED_HANDLER,
- ZEND_NULL_HANDLER,
+ ZEND_UNSET_STATIC_PROP_SPEC_HANDLER,
ZEND_ISSET_ISEMPTY_STATIC_PROP_SPEC_HANDLER,
ZEND_FETCH_CLASS_CONSTANT_SPEC_CONST_CONST_HANDLER,
ZEND_NULL_HANDLER,
@@ -70166,137 +69559,137 @@ void zend_vm_init(void)
1891 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
1916 | SPEC_RULE_OP1,
1921,
- 1922 | SPEC_RULE_OP1,
- 1927 | SPEC_RULE_OP1,
- 1932 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 1957 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 1982 | SPEC_RULE_OP1,
- 1987 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 2012 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 2037 | SPEC_RULE_OP1,
- 2042 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 2067 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 2092 | SPEC_RULE_OP1,
- 2097 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 2122 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 2147 | SPEC_RULE_OP1,
- 2152 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 2177 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 2202 | SPEC_RULE_OP1,
- 2207 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 2232 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 2257 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 1922,
+ 1923 | SPEC_RULE_OP1,
+ 1928 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 1953 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 1978 | SPEC_RULE_OP1,
+ 1983 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 2008 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 2033 | SPEC_RULE_OP1,
+ 2038 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 2063 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 2088 | SPEC_RULE_OP1,
+ 2093 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 2118 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 2143 | SPEC_RULE_OP1,
+ 2148 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 2173 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 2198 | SPEC_RULE_OP1,
+ 2203 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 2228 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 2253 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 2278,
+ 2279 | SPEC_RULE_QUICK_ARG,
+ 2281,
2282,
- 2283 | SPEC_RULE_QUICK_ARG,
+ 2283,
+ 2284,
2285,
2286,
2287,
- 2288,
- 2289,
- 2290,
- 2291,
- 2292 | SPEC_RULE_OP1,
- 2297 | SPEC_RULE_OP2,
- 2302 | SPEC_RULE_OP1,
- 2307 | SPEC_RULE_OP1,
- 2312 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 2337 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 2362 | SPEC_RULE_OP1,
- 2367 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 2392 | SPEC_RULE_OP1 | SPEC_RULE_QUICK_ARG,
- 2402 | SPEC_RULE_OP1,
- 2407 | SPEC_RULE_OP2,
- 2412,
- 2413 | SPEC_RULE_OP1,
- 2418 | SPEC_RULE_OP1,
- 2423,
- 2424 | SPEC_RULE_OP1,
- 2429 | SPEC_RULE_OP1,
- 2434 | SPEC_RULE_OP1,
- 2439,
- 2440,
- 2441 | SPEC_RULE_OP2,
+ 2288 | SPEC_RULE_OP1,
+ 2293 | SPEC_RULE_OP2,
+ 2298 | SPEC_RULE_OP1,
+ 2303 | SPEC_RULE_OP1,
+ 2308 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 2333 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 2358 | SPEC_RULE_OP1,
+ 2363 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 2388 | SPEC_RULE_OP1 | SPEC_RULE_QUICK_ARG,
+ 2398 | SPEC_RULE_OP1,
+ 2403 | SPEC_RULE_OP2,
+ 2408,
+ 2409 | SPEC_RULE_OP1,
+ 2414 | SPEC_RULE_OP1,
+ 2419,
+ 2420 | SPEC_RULE_OP1,
+ 2425 | SPEC_RULE_OP1,
+ 2430 | SPEC_RULE_OP1,
+ 2435,
+ 2436,
+ 2437 | SPEC_RULE_OP2,
+ 2442 | SPEC_RULE_RETVAL,
+ 2444 | SPEC_RULE_RETVAL,
2446 | SPEC_RULE_RETVAL,
- 2448 | SPEC_RULE_RETVAL,
- 2450 | SPEC_RULE_RETVAL,
- 2452 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 2477 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 2502 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 2527 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 2552 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_OP_DATA,
- 2677,
- 2678 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 2703,
- 2704,
- 2705,
- 2706 | SPEC_RULE_OP1,
- 2711,
- 4210,
- 2712,
- 4210,
- 2713 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_OP_DATA,
- 2838 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 2863,
- 2864,
- 2865,
- 2866 | SPEC_RULE_OP1,
+ 2448 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 2473 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 2498 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 2523 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 2548 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_OP_DATA,
+ 2673,
+ 2674 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 2699,
+ 2700,
+ 2701,
+ 2702 | SPEC_RULE_OP1,
+ 2707,
+ 4182,
+ 2708,
+ 4182,
+ 2709 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_OP_DATA,
+ 2834 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 2859,
+ 2860,
+ 2861,
+ 2862 | SPEC_RULE_OP1,
+ 2867,
+ 4182,
+ 4182,
+ 2868,
+ 2869,
+ 2870,
2871,
- 4210,
- 4210,
- 2872,
- 2873,
- 2874,
- 2875,
- 2876 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 2901 | SPEC_RULE_OP1,
- 2906,
- 2907,
- 2908,
- 2909,
- 2910 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 2935 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_DIM_OBJ,
- 3035,
- 3036 | SPEC_RULE_OP1,
- 3041 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 2872 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 2897 | SPEC_RULE_OP1,
+ 2902,
+ 2903,
+ 2904,
+ 2905,
+ 2906 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 2931 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_DIM_OBJ,
+ 3031,
+ 3032 | SPEC_RULE_OP1,
+ 3037 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 3062,
+ 3063,
+ 3064,
+ 3065,
3066,
3067,
3068,
3069,
3070,
3071,
- 3072,
- 3073,
- 3074 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 3099,
- 3100 | SPEC_RULE_OP1,
- 3105,
- 3106,
+ 3072 | SPEC_RULE_OP1,
+ 3077,
+ 3078,
+ 3079,
+ 3080,
+ 3081,
+ 3082 | SPEC_RULE_OP1,
+ 3087 | SPEC_RULE_OP1,
+ 3092 | SPEC_RULE_OP1,
+ 3097 | SPEC_RULE_OP1,
+ 3102 | SPEC_RULE_OP1,
3107,
- 3108,
- 3109,
- 3110 | SPEC_RULE_OP1,
- 3115 | SPEC_RULE_OP1,
- 3120 | SPEC_RULE_OP1,
- 3125 | SPEC_RULE_OP1,
- 3130 | SPEC_RULE_OP1,
- 3135,
- 3136 | SPEC_RULE_OP1,
- 3141,
- 3142 | SPEC_RULE_OP1,
- 3147,
- 3148 | SPEC_RULE_ISSET,
- 3150 | SPEC_RULE_OP2,
- 3155 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
- 3180 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_OP_DATA,
- 3305 | SPEC_RULE_OP_DATA,
- 3310,
- 3311,
- 3312,
- 3313,
- 3314,
- 3315,
- 3316,
- 4210
+ 3108 | SPEC_RULE_OP1,
+ 3113,
+ 3114 | SPEC_RULE_OP1,
+ 3119,
+ 3120 | SPEC_RULE_ISSET,
+ 3122 | SPEC_RULE_OP2,
+ 3127 | SPEC_RULE_OP1 | SPEC_RULE_OP2,
+ 3152 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_OP_DATA,
+ 3277 | SPEC_RULE_OP_DATA,
+ 3282,
+ 3283,
+ 3284,
+ 3285,
+ 3286,
+ 3287,
+ 3288,
+ 4182
};
#if (ZEND_VM_KIND == ZEND_VM_KIND_HYBRID)
zend_opcode_handler_funcs = labels;
@@ -70503,7 +69896,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 = 3318 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
+ spec = 3290 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
if (op->op1_type < op->op2_type) {
zend_swap_operands(op);
}
@@ -70511,7 +69904,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 = 3343 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
+ spec = 3315 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
if (op->op1_type < op->op2_type) {
zend_swap_operands(op);
}
@@ -70519,7 +69912,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 = 3368 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
+ spec = 3340 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
if (op->op1_type < op->op2_type) {
zend_swap_operands(op);
}
@@ -70530,17 +69923,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 = 3393 | SPEC_RULE_OP1 | SPEC_RULE_OP2;
+ spec = 3365 | 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 = 3418 | SPEC_RULE_OP1 | SPEC_RULE_OP2;
+ spec = 3390 | 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 = 3443 | SPEC_RULE_OP1 | SPEC_RULE_OP2;
+ spec = 3415 | SPEC_RULE_OP1 | SPEC_RULE_OP2;
}
break;
case ZEND_MUL:
@@ -70551,17 +69944,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 = 3468 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
+ spec = 3440 | 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 = 3493 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
+ spec = 3465 | 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 = 3518 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
+ spec = 3490 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_COMMUTATIVE;
}
break;
case ZEND_IS_EQUAL:
@@ -70572,12 +69965,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 = 3543 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
+ spec = 3515 | 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 = 3618 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
+ spec = 3590 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
}
break;
case ZEND_IS_NOT_EQUAL:
@@ -70588,12 +69981,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 = 3693 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
+ spec = 3665 | 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 = 3768 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
+ spec = 3740 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH | SPEC_RULE_COMMUTATIVE;
}
break;
case ZEND_IS_SMALLER:
@@ -70601,12 +69994,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 = 3843 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH;
+ spec = 3815 | 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 = 3918 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH;
+ spec = 3890 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH;
}
break;
case ZEND_IS_SMALLER_OR_EQUAL:
@@ -70614,75 +70007,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 = 3993 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH;
+ spec = 3965 | 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 = 4068 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH;
+ spec = 4040 | SPEC_RULE_OP1 | SPEC_RULE_OP2 | SPEC_RULE_SMART_BRANCH;
}
break;
case ZEND_QM_ASSIGN:
if (op1_info == MAY_BE_DOUBLE) {
- spec = 4161 | SPEC_RULE_OP1;
+ spec = 4133 | 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 = 4166 | SPEC_RULE_OP1;
+ spec = 4138 | SPEC_RULE_OP1;
}
break;
case ZEND_PRE_INC:
if (res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG) {
- spec = 4143 | SPEC_RULE_RETVAL;
+ spec = 4115 | SPEC_RULE_RETVAL;
} else if (op1_info == MAY_BE_LONG) {
- spec = 4145 | SPEC_RULE_RETVAL;
+ spec = 4117 | SPEC_RULE_RETVAL;
} else if (op1_info == (MAY_BE_LONG|MAY_BE_DOUBLE)) {
- spec = 4147 | SPEC_RULE_RETVAL;
+ spec = 4119 | SPEC_RULE_RETVAL;
}
break;
case ZEND_PRE_DEC:
if (res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG) {
- spec = 4149 | SPEC_RULE_RETVAL;
+ spec = 4121 | SPEC_RULE_RETVAL;
} else if (op1_info == MAY_BE_LONG) {
- spec = 4151 | SPEC_RULE_RETVAL;
+ spec = 4123 | SPEC_RULE_RETVAL;
} else if (op1_info == (MAY_BE_LONG|MAY_BE_DOUBLE)) {
- spec = 4153 | SPEC_RULE_RETVAL;
+ spec = 4125 | SPEC_RULE_RETVAL;
}
break;
case ZEND_POST_INC:
if (res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG) {
- spec = 4155;
+ spec = 4127;
} else if (op1_info == MAY_BE_LONG) {
- spec = 4156;
+ spec = 4128;
} else if (op1_info == (MAY_BE_LONG|MAY_BE_DOUBLE)) {
- spec = 4157;
+ spec = 4129;
}
break;
case ZEND_POST_DEC:
if (res_info == MAY_BE_LONG && op1_info == MAY_BE_LONG) {
- spec = 4158;
+ spec = 4130;
} else if (op1_info == MAY_BE_LONG) {
- spec = 4159;
+ spec = 4131;
} else if (op1_info == (MAY_BE_LONG|MAY_BE_DOUBLE)) {
- spec = 4160;
+ spec = 4132;
}
break;
case ZEND_JMP:
if (OP_JMP_ADDR(op, op->op1) > op) {
- spec = 3317;
+ spec = 3289;
}
break;
case ZEND_SEND_VAL:
if (op->op1_type == IS_CONST && !Z_REFCOUNTED_P(RT_CONSTANT(op, op->op1))) {
- spec = 4206;
+ spec = 4178;
}
break;
case ZEND_SEND_VAR_EX:
if (op->op2.num <= MAX_ARG_FLAG_NUM && (op1_info & (MAY_BE_UNDEF|MAY_BE_REF)) == 0) {
- spec = 4201 | SPEC_RULE_OP1;
+ spec = 4173 | 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 = 4208 | SPEC_RULE_RETVAL;
+ spec = 4180 | SPEC_RULE_RETVAL;
}
break;
case ZEND_FETCH_DIM_R:
@@ -70690,17 +70083,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 = 4171 | SPEC_RULE_OP1 | SPEC_RULE_OP2;
+ spec = 4143 | 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 = 4207;
+ spec = 4179;
}
break;
case ZEND_SEND_VAR:
if ((op1_info & (MAY_BE_UNDEF|MAY_BE_REF)) == 0) {
- spec = 4196 | SPEC_RULE_OP1;
+ spec = 4168 | SPEC_RULE_OP1;
}
break;
case ZEND_BW_OR: