]> granicus.if.org Git - php/commitdiff
Removed useless specialization
authorDmitry Stogov <dmitry@zend.com>
Fri, 29 Dec 2017 09:02:50 +0000 (12:02 +0300)
committerDmitry Stogov <dmitry@zend.com>
Fri, 29 Dec 2017 09:02:50 +0000 (12:02 +0300)
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
Zend/zend_vm_opcodes.c

index 19a577c3395eaca5cde18a1f12921e4c6076555e..ec0ac3808397543521b8ef26f99be9e566d7491a 100644 (file)
@@ -1987,7 +1987,7 @@ ZEND_VM_HANDLER(97, ZEND_FETCH_OBJ_UNSET, VAR|UNUSED|THIS|CV, CONST|TMPVAR|CV)
        ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
 }
 
-ZEND_VM_HANDLER(98, ZEND_FETCH_LIST_R, CONST|TMPVAR|CV, CONST|TMPVAR|CV)
+ZEND_VM_HANDLER(98, ZEND_FETCH_LIST_R, CONST|TMPVARCV, CONST|TMPVAR|CV)
 {
        USE_OPLINE
        zend_free_op free_op1, free_op2;
@@ -8060,7 +8060,7 @@ ZEND_VM_HANDLER(51, ZEND_MAKE_REF, VAR|CV, UNUSED)
        ZEND_VM_NEXT_OPCODE();
 }
 
-ZEND_VM_HANDLER(187, ZEND_SWITCH_LONG, CONST|TMPVAR|CV, CONST, JMP_ADDR)
+ZEND_VM_HANDLER(187, ZEND_SWITCH_LONG, CONST|TMPVARCV, CONST, JMP_ADDR)
 {
        USE_OPLINE
        zend_free_op free_op1, free_op2;
@@ -8089,7 +8089,7 @@ ZEND_VM_HANDLER(187, ZEND_SWITCH_LONG, CONST|TMPVAR|CV, CONST, JMP_ADDR)
        }
 }
 
-ZEND_VM_HANDLER(188, ZEND_SWITCH_STRING, CONST|TMPVAR|CV, CONST, JMP_ADDR)
+ZEND_VM_HANDLER(188, ZEND_SWITCH_STRING, CONST|TMPVARCV, CONST, JMP_ADDR)
 {
        USE_OPLINE
        zend_free_op free_op1, free_op2;
index c0cc6e56704df153e4fd238dd9b43cfd856da48a..de87cde904e44754d19e9b0cdcda1c4744429a08 100644 (file)
@@ -12015,6 +12015,82 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_QM_ASSIGN_NOREF_SP
        ZEND_VM_NEXT_OPCODE();
 }
 
+static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
+{
+       USE_OPLINE
+
+       zval *container;
+
+       SAVE_OPLINE();
+       container = EX_VAR(opline->op1.var);
+       zend_fetch_dimension_address_LIST_r(EX_VAR(opline->result.var), container, RT_CONSTANT(opline, opline->op2) EXECUTE_DATA_CC);
+
+       ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
+}
+
+static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
+{
+       USE_OPLINE
+
+       zval *op, *jump_zv;
+       HashTable *jumptable;
+
+       op = EX_VAR(opline->op1.var);
+       jumptable = Z_ARRVAL_P(RT_CONSTANT(opline, opline->op2));
+
+       if (Z_TYPE_P(op) != IS_LONG) {
+               ZVAL_DEREF(op);
+               if (Z_TYPE_P(op) != IS_LONG) {
+                       /* Wrong type, fall back to ZEND_CASE chain */
+                       ZEND_VM_NEXT_OPCODE();
+               }
+       }
+
+       jump_zv = zend_hash_index_find(jumptable, Z_LVAL_P(op));
+       if (jump_zv != NULL) {
+               ZEND_VM_SET_RELATIVE_OPCODE(opline, Z_LVAL_P(jump_zv));
+               ZEND_VM_CONTINUE();
+       } else {
+               /* default */
+               ZEND_VM_SET_RELATIVE_OPCODE(opline, opline->extended_value);
+               ZEND_VM_CONTINUE();
+       }
+}
+
+static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
+{
+       USE_OPLINE
+
+       zval *op, *jump_zv;
+       HashTable *jumptable;
+
+       op = EX_VAR(opline->op1.var);
+       jumptable = Z_ARRVAL_P(RT_CONSTANT(opline, opline->op2));
+
+       if (Z_TYPE_P(op) != IS_STRING) {
+               if ((IS_TMP_VAR|IS_VAR|IS_CV) == IS_CONST) {
+                       /* Wrong type, fall back to ZEND_CASE chain */
+                       ZEND_VM_NEXT_OPCODE();
+               } else {
+                       ZVAL_DEREF(op);
+                       if (Z_TYPE_P(op) != IS_STRING) {
+                               /* Wrong type, fall back to ZEND_CASE chain */
+                               ZEND_VM_NEXT_OPCODE();
+                       }
+               }
+       }
+
+       jump_zv = zend_hash_find_ex(jumptable, Z_STR_P(op), (IS_TMP_VAR|IS_VAR|IS_CV) == IS_CONST);
+       if (jump_zv != NULL) {
+               ZEND_VM_SET_RELATIVE_OPCODE(opline, Z_LVAL_P(jump_zv));
+               ZEND_VM_CONTINUE();
+       } else {
+               /* default */
+               ZEND_VM_SET_RELATIVE_OPCODE(opline, opline->extended_value);
+               ZEND_VM_CONTINUE();
+       }
+}
+
 static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
        USE_OPLINE
@@ -12907,6 +12983,32 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_OR_EQUA
        ZEND_VM_NEXT_OPCODE();
 }
 
+static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
+{
+       USE_OPLINE
+       zend_free_op free_op2;
+       zval *container;
+
+       SAVE_OPLINE();
+       container = EX_VAR(opline->op1.var);
+       zend_fetch_dimension_address_LIST_r(EX_VAR(opline->result.var), container, _get_zval_ptr_var(opline->op2.var, &free_op2 EXECUTE_DATA_CC) EXECUTE_DATA_CC);
+       zval_ptr_dtor_nogc(free_op2);
+       ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
+}
+
+static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
+{
+       USE_OPLINE
+
+       zval *container;
+
+       SAVE_OPLINE();
+       container = EX_VAR(opline->op1.var);
+       zend_fetch_dimension_address_LIST_r(EX_VAR(opline->result.var), container, _get_zval_ptr_cv_undef(opline->op2.var EXECUTE_DATA_CC) EXECUTE_DATA_CC);
+
+       ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
+}
+
 static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_BW_NOT_SPEC_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
        USE_OPLINE
@@ -14400,19 +14502,6 @@ fetch_obj_is_no_object:
        ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
 }
 
-static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_LIST_R_SPEC_TMPVAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-       USE_OPLINE
-       zend_free_op free_op1;
-       zval *container;
-
-       SAVE_OPLINE();
-       container = _get_zval_ptr_var(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
-       zend_fetch_dimension_address_LIST_r(EX_VAR(opline->result.var), container, RT_CONSTANT(opline, opline->op2) EXECUTE_DATA_CC);
-
-       ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
-}
-
 static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FAST_CONCAT_SPEC_TMPVAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
        USE_OPLINE
@@ -15083,69 +15172,6 @@ try_instanceof:
        ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
 }
 
-static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SWITCH_LONG_SPEC_TMPVAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-       USE_OPLINE
-       zend_free_op free_op1;
-       zval *op, *jump_zv;
-       HashTable *jumptable;
-
-       op = _get_zval_ptr_var(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
-       jumptable = Z_ARRVAL_P(RT_CONSTANT(opline, opline->op2));
-
-       if (Z_TYPE_P(op) != IS_LONG) {
-               ZVAL_DEREF(op);
-               if (Z_TYPE_P(op) != IS_LONG) {
-                       /* Wrong type, fall back to ZEND_CASE chain */
-                       ZEND_VM_NEXT_OPCODE();
-               }
-       }
-
-       jump_zv = zend_hash_index_find(jumptable, Z_LVAL_P(op));
-       if (jump_zv != NULL) {
-               ZEND_VM_SET_RELATIVE_OPCODE(opline, Z_LVAL_P(jump_zv));
-               ZEND_VM_CONTINUE();
-       } else {
-               /* default */
-               ZEND_VM_SET_RELATIVE_OPCODE(opline, opline->extended_value);
-               ZEND_VM_CONTINUE();
-       }
-}
-
-static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SWITCH_STRING_SPEC_TMPVAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-       USE_OPLINE
-       zend_free_op free_op1;
-       zval *op, *jump_zv;
-       HashTable *jumptable;
-
-       op = _get_zval_ptr_var(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
-       jumptable = Z_ARRVAL_P(RT_CONSTANT(opline, opline->op2));
-
-       if (Z_TYPE_P(op) != IS_STRING) {
-               if ((IS_TMP_VAR|IS_VAR) == IS_CONST) {
-                       /* Wrong type, fall back to ZEND_CASE chain */
-                       ZEND_VM_NEXT_OPCODE();
-               } else {
-                       ZVAL_DEREF(op);
-                       if (Z_TYPE_P(op) != IS_STRING) {
-                               /* Wrong type, fall back to ZEND_CASE chain */
-                               ZEND_VM_NEXT_OPCODE();
-                       }
-               }
-       }
-
-       jump_zv = zend_hash_find_ex(jumptable, Z_STR_P(op), (IS_TMP_VAR|IS_VAR) == IS_CONST);
-       if (jump_zv != NULL) {
-               ZEND_VM_SET_RELATIVE_OPCODE(opline, Z_LVAL_P(jump_zv));
-               ZEND_VM_CONTINUE();
-       } else {
-               /* default */
-               ZEND_VM_SET_RELATIVE_OPCODE(opline, opline->extended_value);
-               ZEND_VM_CONTINUE();
-       }
-}
-
 static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
        USE_OPLINE
@@ -16088,19 +16114,6 @@ fetch_obj_is_no_object:
        ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
 }
 
-static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_LIST_R_SPEC_TMPVAR_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-       USE_OPLINE
-       zend_free_op free_op1, free_op2;
-       zval *container;
-
-       SAVE_OPLINE();
-       container = _get_zval_ptr_var(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
-       zend_fetch_dimension_address_LIST_r(EX_VAR(opline->result.var), container, _get_zval_ptr_var(opline->op2.var, &free_op2 EXECUTE_DATA_CC) EXECUTE_DATA_CC);
-       zval_ptr_dtor_nogc(free_op2);
-       ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
-}
-
 static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FAST_CONCAT_SPEC_TMPVAR_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
        USE_OPLINE
@@ -18026,19 +18039,6 @@ fetch_obj_is_no_object:
        ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
 }
 
-static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_LIST_R_SPEC_TMPVAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-       USE_OPLINE
-       zend_free_op free_op1;
-       zval *container;
-
-       SAVE_OPLINE();
-       container = _get_zval_ptr_var(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
-       zend_fetch_dimension_address_LIST_r(EX_VAR(opline->result.var), container, _get_zval_ptr_cv_undef(opline->op2.var EXECUTE_DATA_CC) EXECUTE_DATA_CC);
-
-       ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
-}
-
 static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FAST_CONCAT_SPEC_TMPVAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
        USE_OPLINE
@@ -41509,19 +41509,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_UNSET_SPEC_CV_CONST_
        ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
 }
 
-static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_LIST_R_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-       USE_OPLINE
-
-       zval *container;
-
-       SAVE_OPLINE();
-       container = _get_zval_ptr_cv_undef(opline->op1.var EXECUTE_DATA_CC);
-       zend_fetch_dimension_address_LIST_r(EX_VAR(opline->result.var), container, RT_CONSTANT(opline, opline->op2) EXECUTE_DATA_CC);
-
-       ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
-}
-
 static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_LIST_W_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
        USE_OPLINE
@@ -43753,69 +43740,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_BIND_STATIC_SPEC_CV_CONST_HAND
        ZEND_VM_NEXT_OPCODE();
 }
 
-static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SWITCH_LONG_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-       USE_OPLINE
-
-       zval *op, *jump_zv;
-       HashTable *jumptable;
-
-       op = _get_zval_ptr_cv_undef(opline->op1.var EXECUTE_DATA_CC);
-       jumptable = Z_ARRVAL_P(RT_CONSTANT(opline, opline->op2));
-
-       if (Z_TYPE_P(op) != IS_LONG) {
-               ZVAL_DEREF(op);
-               if (Z_TYPE_P(op) != IS_LONG) {
-                       /* Wrong type, fall back to ZEND_CASE chain */
-                       ZEND_VM_NEXT_OPCODE();
-               }
-       }
-
-       jump_zv = zend_hash_index_find(jumptable, Z_LVAL_P(op));
-       if (jump_zv != NULL) {
-               ZEND_VM_SET_RELATIVE_OPCODE(opline, Z_LVAL_P(jump_zv));
-               ZEND_VM_CONTINUE();
-       } else {
-               /* default */
-               ZEND_VM_SET_RELATIVE_OPCODE(opline, opline->extended_value);
-               ZEND_VM_CONTINUE();
-       }
-}
-
-static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_SWITCH_STRING_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-       USE_OPLINE
-
-       zval *op, *jump_zv;
-       HashTable *jumptable;
-
-       op = _get_zval_ptr_cv_undef(opline->op1.var EXECUTE_DATA_CC);
-       jumptable = Z_ARRVAL_P(RT_CONSTANT(opline, opline->op2));
-
-       if (Z_TYPE_P(op) != IS_STRING) {
-               if (IS_CV == IS_CONST) {
-                       /* Wrong type, fall back to ZEND_CASE chain */
-                       ZEND_VM_NEXT_OPCODE();
-               } else {
-                       ZVAL_DEREF(op);
-                       if (Z_TYPE_P(op) != IS_STRING) {
-                               /* Wrong type, fall back to ZEND_CASE chain */
-                               ZEND_VM_NEXT_OPCODE();
-                       }
-               }
-       }
-
-       jump_zv = zend_hash_find_ex(jumptable, Z_STR_P(op), IS_CV == IS_CONST);
-       if (jump_zv != NULL) {
-               ZEND_VM_SET_RELATIVE_OPCODE(opline, Z_LVAL_P(jump_zv));
-               ZEND_VM_CONTINUE();
-       } else {
-               /* default */
-               ZEND_VM_SET_RELATIVE_OPCODE(opline, opline->extended_value);
-               ZEND_VM_CONTINUE();
-       }
-}
-
 static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IN_ARRAY_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
        USE_OPLINE
@@ -45529,19 +45453,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_UNSET_SPEC_CV_TMPVAR
        ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
 }
 
-static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_LIST_R_SPEC_CV_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-       USE_OPLINE
-       zend_free_op free_op2;
-       zval *container;
-
-       SAVE_OPLINE();
-       container = _get_zval_ptr_cv_undef(opline->op1.var EXECUTE_DATA_CC);
-       zend_fetch_dimension_address_LIST_r(EX_VAR(opline->result.var), container, _get_zval_ptr_var(opline->op2.var, &free_op2 EXECUTE_DATA_CC) EXECUTE_DATA_CC);
-       zval_ptr_dtor_nogc(free_op2);
-       ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
-}
-
 static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_LIST_W_SPEC_CV_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
        USE_OPLINE
@@ -51327,19 +51238,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_OBJ_UNSET_SPEC_CV_CV_HAN
        ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
 }
 
-static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_LIST_R_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
-       USE_OPLINE
-
-       zval *container;
-
-       SAVE_OPLINE();
-       container = _get_zval_ptr_cv_undef(opline->op1.var EXECUTE_DATA_CC);
-       zend_fetch_dimension_address_LIST_r(EX_VAR(opline->result.var), container, _get_zval_ptr_cv_undef(opline->op2.var EXECUTE_DATA_CC) EXECUTE_DATA_CC);
-
-       ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
-}
-
 static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_LIST_W_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
 {
        USE_OPLINE
@@ -55656,26 +55554,26 @@ ZEND_API void execute_ex(zend_execute_data *ex)
                        (void*)&&ZEND_FETCH_LIST_R_SPEC_CONST_TMPVAR_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_FETCH_LIST_R_SPEC_CONST_CV_LABEL,
-                       (void*)&&ZEND_FETCH_LIST_R_SPEC_TMPVAR_CONST_LABEL,
-                       (void*)&&ZEND_FETCH_LIST_R_SPEC_TMPVAR_TMPVAR_LABEL,
-                       (void*)&&ZEND_FETCH_LIST_R_SPEC_TMPVAR_TMPVAR_LABEL,
+                       (void*)&&ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CONST_LABEL,
+                       (void*)&&ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR_LABEL,
+                       (void*)&&ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
-                       (void*)&&ZEND_FETCH_LIST_R_SPEC_TMPVAR_CV_LABEL,
-                       (void*)&&ZEND_FETCH_LIST_R_SPEC_TMPVAR_CONST_LABEL,
-                       (void*)&&ZEND_FETCH_LIST_R_SPEC_TMPVAR_TMPVAR_LABEL,
-                       (void*)&&ZEND_FETCH_LIST_R_SPEC_TMPVAR_TMPVAR_LABEL,
+                       (void*)&&ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CV_LABEL,
+                       (void*)&&ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CONST_LABEL,
+                       (void*)&&ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR_LABEL,
+                       (void*)&&ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
-                       (void*)&&ZEND_FETCH_LIST_R_SPEC_TMPVAR_CV_LABEL,
+                       (void*)&&ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CV_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
-                       (void*)&&ZEND_FETCH_LIST_R_SPEC_CV_CONST_LABEL,
-                       (void*)&&ZEND_FETCH_LIST_R_SPEC_CV_TMPVAR_LABEL,
-                       (void*)&&ZEND_FETCH_LIST_R_SPEC_CV_TMPVAR_LABEL,
+                       (void*)&&ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CONST_LABEL,
+                       (void*)&&ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR_LABEL,
+                       (void*)&&ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
-                       (void*)&&ZEND_FETCH_LIST_R_SPEC_CV_CV_LABEL,
+                       (void*)&&ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CV_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
@@ -57005,12 +56903,12 @@ ZEND_API void execute_ex(zend_execute_data *ex)
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
-                       (void*)&&ZEND_SWITCH_LONG_SPEC_TMPVAR_CONST_LABEL,
+                       (void*)&&ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
-                       (void*)&&ZEND_SWITCH_LONG_SPEC_TMPVAR_CONST_LABEL,
+                       (void*)&&ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
@@ -57020,7 +56918,7 @@ ZEND_API void execute_ex(zend_execute_data *ex)
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
-                       (void*)&&ZEND_SWITCH_LONG_SPEC_CV_CONST_LABEL,
+                       (void*)&&ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
@@ -57030,12 +56928,12 @@ ZEND_API void execute_ex(zend_execute_data *ex)
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
-                       (void*)&&ZEND_SWITCH_STRING_SPEC_TMPVAR_CONST_LABEL,
+                       (void*)&&ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
-                       (void*)&&ZEND_SWITCH_STRING_SPEC_TMPVAR_CONST_LABEL,
+                       (void*)&&ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
@@ -57045,7 +56943,7 @@ ZEND_API void execute_ex(zend_execute_data *ex)
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
-                       (void*)&&ZEND_SWITCH_STRING_SPEC_CV_CONST_LABEL,
+                       (void*)&&ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
                        (void*)&&ZEND_NULL_LABEL,
@@ -59135,6 +59033,15 @@ ZEND_API void execute_ex(zend_execute_data *ex)
                        HYBRID_CASE(ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV):
                                ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
                                HYBRID_BREAK();
+                       HYBRID_CASE(ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CONST):
+                               ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
+                               HYBRID_BREAK();
+                       HYBRID_CASE(ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST):
+                               ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
+                               HYBRID_BREAK();
+                       HYBRID_CASE(ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST):
+                               ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
+                               HYBRID_BREAK();
                        HYBRID_CASE(ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST):
                                ZEND_ADD_LONG_NO_OVERFLOW_SPEC_TMPVARCV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
                                HYBRID_BREAK();
@@ -59333,6 +59240,12 @@ ZEND_API void execute_ex(zend_execute_data *ex)
                        HYBRID_CASE(ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ):
                                ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_TMPVARCV_TMPVARCV_JMPNZ_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
                                HYBRID_BREAK();
+                       HYBRID_CASE(ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR):
+                               ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
+                               HYBRID_BREAK();
+                       HYBRID_CASE(ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CV):
+                               ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
+                               HYBRID_BREAK();
                        HYBRID_CASE(ZEND_BW_NOT_SPEC_TMPVAR):
                                ZEND_BW_NOT_SPEC_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
                                HYBRID_BREAK();
@@ -59465,9 +59378,6 @@ ZEND_API void execute_ex(zend_execute_data *ex)
                        HYBRID_CASE(ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_CONST):
                                ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
                                HYBRID_BREAK();
-                       HYBRID_CASE(ZEND_FETCH_LIST_R_SPEC_TMPVAR_CONST):
-                               ZEND_FETCH_LIST_R_SPEC_TMPVAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-                               HYBRID_BREAK();
                        HYBRID_CASE(ZEND_FAST_CONCAT_SPEC_TMPVAR_CONST):
                                ZEND_FAST_CONCAT_SPEC_TMPVAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
                                HYBRID_BREAK();
@@ -59492,12 +59402,6 @@ ZEND_API void execute_ex(zend_execute_data *ex)
                        HYBRID_CASE(ZEND_INSTANCEOF_SPEC_TMPVAR_CONST):
                                ZEND_INSTANCEOF_SPEC_TMPVAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
                                HYBRID_BREAK();
-                       HYBRID_CASE(ZEND_SWITCH_LONG_SPEC_TMPVAR_CONST):
-                               ZEND_SWITCH_LONG_SPEC_TMPVAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-                               HYBRID_BREAK();
-                       HYBRID_CASE(ZEND_SWITCH_STRING_SPEC_TMPVAR_CONST):
-                               ZEND_SWITCH_STRING_SPEC_TMPVAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-                               HYBRID_BREAK();
                        HYBRID_CASE(ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST):
                                ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
                                HYBRID_BREAK();
@@ -59567,9 +59471,6 @@ ZEND_API void execute_ex(zend_execute_data *ex)
                        HYBRID_CASE(ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_TMPVAR):
                                ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
                                HYBRID_BREAK();
-                       HYBRID_CASE(ZEND_FETCH_LIST_R_SPEC_TMPVAR_TMPVAR):
-                               ZEND_FETCH_LIST_R_SPEC_TMPVAR_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-                               HYBRID_BREAK();
                        HYBRID_CASE(ZEND_FAST_CONCAT_SPEC_TMPVAR_TMPVAR):
                                ZEND_FAST_CONCAT_SPEC_TMPVAR_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
                                HYBRID_BREAK();
@@ -59711,9 +59612,6 @@ ZEND_API void execute_ex(zend_execute_data *ex)
                        HYBRID_CASE(ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_CV):
                                ZEND_FETCH_OBJ_IS_SPEC_TMPVAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
                                HYBRID_BREAK();
-                       HYBRID_CASE(ZEND_FETCH_LIST_R_SPEC_TMPVAR_CV):
-                               ZEND_FETCH_LIST_R_SPEC_TMPVAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-                               HYBRID_BREAK();
                        HYBRID_CASE(ZEND_FAST_CONCAT_SPEC_TMPVAR_CV):
                                ZEND_FAST_CONCAT_SPEC_TMPVAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
                                HYBRID_BREAK();
@@ -61385,9 +61283,6 @@ ZEND_API void execute_ex(zend_execute_data *ex)
                        HYBRID_CASE(ZEND_FETCH_OBJ_UNSET_SPEC_CV_CONST):
                                ZEND_FETCH_OBJ_UNSET_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
                                HYBRID_BREAK();
-                       HYBRID_CASE(ZEND_FETCH_LIST_R_SPEC_CV_CONST):
-                               ZEND_FETCH_LIST_R_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-                               HYBRID_BREAK();
                        HYBRID_CASE(ZEND_FETCH_LIST_W_SPEC_CV_CONST):
                                ZEND_FETCH_LIST_W_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
                                HYBRID_BREAK();
@@ -61466,12 +61361,6 @@ ZEND_API void execute_ex(zend_execute_data *ex)
                        HYBRID_CASE(ZEND_BIND_STATIC_SPEC_CV_CONST):
                                ZEND_BIND_STATIC_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
                                HYBRID_BREAK();
-                       HYBRID_CASE(ZEND_SWITCH_LONG_SPEC_CV_CONST):
-                               ZEND_SWITCH_LONG_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-                               HYBRID_BREAK();
-                       HYBRID_CASE(ZEND_SWITCH_STRING_SPEC_CV_CONST):
-                               ZEND_SWITCH_STRING_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-                               HYBRID_BREAK();
                        HYBRID_CASE(ZEND_IN_ARRAY_SPEC_CV_CONST):
                                ZEND_IN_ARRAY_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
                                HYBRID_BREAK();
@@ -61688,9 +61577,6 @@ ZEND_API void execute_ex(zend_execute_data *ex)
                        HYBRID_CASE(ZEND_FETCH_OBJ_UNSET_SPEC_CV_TMPVAR):
                                ZEND_FETCH_OBJ_UNSET_SPEC_CV_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
                                HYBRID_BREAK();
-                       HYBRID_CASE(ZEND_FETCH_LIST_R_SPEC_CV_TMPVAR):
-                               ZEND_FETCH_LIST_R_SPEC_CV_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-                               HYBRID_BREAK();
                        HYBRID_CASE(ZEND_FETCH_LIST_W_SPEC_CV_TMPVAR):
                                ZEND_FETCH_LIST_W_SPEC_CV_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
                                HYBRID_BREAK();
@@ -62165,9 +62051,6 @@ ZEND_API void execute_ex(zend_execute_data *ex)
                        HYBRID_CASE(ZEND_FETCH_OBJ_UNSET_SPEC_CV_CV):
                                ZEND_FETCH_OBJ_UNSET_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
                                HYBRID_BREAK();
-                       HYBRID_CASE(ZEND_FETCH_LIST_R_SPEC_CV_CV):
-                               ZEND_FETCH_LIST_R_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
-                               HYBRID_BREAK();
                        HYBRID_CASE(ZEND_FETCH_LIST_W_SPEC_CV_CV):
                                ZEND_FETCH_LIST_W_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
                                HYBRID_BREAK();
@@ -64581,26 +64464,26 @@ void zend_init_opcodes_handlers(void)
                ZEND_FETCH_LIST_R_SPEC_CONST_TMPVAR_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_FETCH_LIST_R_SPEC_CONST_CV_HANDLER,
-               ZEND_FETCH_LIST_R_SPEC_TMPVAR_CONST_HANDLER,
-               ZEND_FETCH_LIST_R_SPEC_TMPVAR_TMPVAR_HANDLER,
-               ZEND_FETCH_LIST_R_SPEC_TMPVAR_TMPVAR_HANDLER,
+               ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CONST_HANDLER,
+               ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR_HANDLER,
+               ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR_HANDLER,
                ZEND_NULL_HANDLER,
-               ZEND_FETCH_LIST_R_SPEC_TMPVAR_CV_HANDLER,
-               ZEND_FETCH_LIST_R_SPEC_TMPVAR_CONST_HANDLER,
-               ZEND_FETCH_LIST_R_SPEC_TMPVAR_TMPVAR_HANDLER,
-               ZEND_FETCH_LIST_R_SPEC_TMPVAR_TMPVAR_HANDLER,
+               ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CV_HANDLER,
+               ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CONST_HANDLER,
+               ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR_HANDLER,
+               ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR_HANDLER,
                ZEND_NULL_HANDLER,
-               ZEND_FETCH_LIST_R_SPEC_TMPVAR_CV_HANDLER,
+               ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CV_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
-               ZEND_FETCH_LIST_R_SPEC_CV_CONST_HANDLER,
-               ZEND_FETCH_LIST_R_SPEC_CV_TMPVAR_HANDLER,
-               ZEND_FETCH_LIST_R_SPEC_CV_TMPVAR_HANDLER,
+               ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CONST_HANDLER,
+               ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR_HANDLER,
+               ZEND_FETCH_LIST_R_SPEC_TMPVARCV_TMPVAR_HANDLER,
                ZEND_NULL_HANDLER,
-               ZEND_FETCH_LIST_R_SPEC_CV_CV_HANDLER,
+               ZEND_FETCH_LIST_R_SPEC_TMPVARCV_CV_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
@@ -65930,12 +65813,12 @@ void zend_init_opcodes_handlers(void)
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
-               ZEND_SWITCH_LONG_SPEC_TMPVAR_CONST_HANDLER,
+               ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
-               ZEND_SWITCH_LONG_SPEC_TMPVAR_CONST_HANDLER,
+               ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
@@ -65945,7 +65828,7 @@ void zend_init_opcodes_handlers(void)
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
-               ZEND_SWITCH_LONG_SPEC_CV_CONST_HANDLER,
+               ZEND_SWITCH_LONG_SPEC_TMPVARCV_CONST_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
@@ -65955,12 +65838,12 @@ void zend_init_opcodes_handlers(void)
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
-               ZEND_SWITCH_STRING_SPEC_TMPVAR_CONST_HANDLER,
+               ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
-               ZEND_SWITCH_STRING_SPEC_TMPVAR_CONST_HANDLER,
+               ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
@@ -65970,7 +65853,7 @@ void zend_init_opcodes_handlers(void)
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
-               ZEND_SWITCH_STRING_SPEC_CV_CONST_HANDLER,
+               ZEND_SWITCH_STRING_SPEC_TMPVARCV_CONST_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
                ZEND_NULL_HANDLER,
index 44b8a2df1928de62a3b4b431879bc8c6811deee8..c0040c83bba0646af4ff80fe536c33adf8d24463 100644 (file)
@@ -322,7 +322,7 @@ static uint32_t zend_vm_opcodes_flags[199] = {
        0x00010107,
        0x00000701,
        0x00000751,
-       0x00000707,
+       0x0000070b,
        0x06000301,
        0x00000000,
        0x00000000,
@@ -411,8 +411,8 @@ static uint32_t zend_vm_opcodes_flags[199] = {
        0x00000101,
        0x00000000,
        0x00000101,
-       0x03000307,
-       0x03000307,
+       0x0300030b,
+       0x0300030b,
        0x01000303,
        0x00000103,
        0x00000103,