summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2018-03-29 11:13:17 +0300
committerDmitry Stogov <dmitry@zend.com>2018-03-29 11:13:17 +0300
commit4aa9505b6e1c2375f861c02687697414372a9ccd (patch)
treecfe2ddb110c7b3afdc3a2d7f53b8fc38f0b2a450
parent2f0950d599ce7e7308a6001e2f0a33fe27dcefe6 (diff)
downloadphp-git-4aa9505b6e1c2375f861c02687697414372a9ccd.tar.gz
Merge identical handlers
-rw-r--r--Zend/zend_vm_def.h2
-rw-r--r--Zend/zend_vm_execute.h534
-rw-r--r--Zend/zend_vm_handlers.h24
3 files changed, 199 insertions, 361 deletions
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
index 21250316d7..206452c0a6 100644
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@ -8710,7 +8710,7 @@ ZEND_VM_HOT_TYPE_SPEC_HANDLER(ZEND_QM_ASSIGN, (!(op1_info & ((MAY_BE_ANY|MAY_BE_
ZEND_VM_NEXT_OPCODE();
}
-ZEND_VM_HOT_TYPE_SPEC_HANDLER(ZEND_FETCH_DIM_R, (!(op2_info & (MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_STRING|MAY_BE_ARRAY|MAY_BE_OBJECT|MAY_BE_RESOURCE|MAY_BE_REF))), ZEND_FETCH_DIM_R_INDEX, CONST|TMPVAR|CV, CONST|TMPVAR|CV)
+ZEND_VM_HOT_TYPE_SPEC_HANDLER(ZEND_FETCH_DIM_R, (!(op2_info & (MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_STRING|MAY_BE_ARRAY|MAY_BE_OBJECT|MAY_BE_RESOURCE|MAY_BE_REF))), ZEND_FETCH_DIM_R_INDEX, CONST|TMPVAR|CV, CONST|TMPVARCV)
{
USE_OPLINE
zend_free_op free_op1, free_op2;
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
index 3591c8855f..9ddae524c2 100644
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@ -6423,6 +6423,56 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_SMALLER_OR_EQUA
ZEND_VM_NEXT_OPCODE();
}
+static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
+{
+ USE_OPLINE
+
+ zval *container, *dim, *value;
+ zend_long offset;
+ HashTable *ht;
+
+ container = RT_CONSTANT(opline, opline->op1);
+ dim = EX_VAR(opline->op2.var);
+ if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
+fetch_dim_r_index_array:
+ if (EXPECTED(Z_TYPE_P(dim) == IS_LONG)) {
+ offset = Z_LVAL_P(dim);
+ } else {
+ offset = zval_get_long(dim);
+ }
+ ht = Z_ARRVAL_P(container);
+ ZEND_HASH_INDEX_FIND(ht, offset, value, fetch_dim_r_index_undef);
+ ZVAL_COPY_UNREF(EX_VAR(opline->result.var), value);
+ if (IS_CONST & (IS_TMP_VAR|IS_VAR)) {
+ SAVE_OPLINE();
+
+ ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
+ } else {
+ ZEND_VM_NEXT_OPCODE();
+ }
+ } else if (IS_CONST != IS_CONST && EXPECTED(Z_TYPE_P(container) == IS_REFERENCE)) {
+ container = Z_REFVAL_P(container);
+ if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
+ goto fetch_dim_r_index_array;
+ } else {
+ goto fetch_dim_r_index_slow;
+ }
+ } else {
+fetch_dim_r_index_slow:
+ SAVE_OPLINE();
+ zend_fetch_dimension_address_read_R_slow(container, dim OPLINE_CC EXECUTE_DATA_CC);
+
+ ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
+ }
+
+fetch_dim_r_index_undef:
+ ZVAL_NULL(EX_VAR(opline->result.var));
+ SAVE_OPLINE();
+ zend_undefined_offset(offset);
+
+ ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
+}
+
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ADD_SPEC_CONST_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -7786,56 +7836,6 @@ isset_no_object:
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
}
-static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
- USE_OPLINE
- zend_free_op free_op2;
- zval *container, *dim, *value;
- zend_long offset;
- HashTable *ht;
-
- container = RT_CONSTANT(opline, opline->op1);
- dim = _get_zval_ptr_var(opline->op2.var, &free_op2 EXECUTE_DATA_CC);
- if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
-fetch_dim_r_index_array:
- if (EXPECTED(Z_TYPE_P(dim) == IS_LONG)) {
- offset = Z_LVAL_P(dim);
- } else {
- offset = zval_get_long(dim);
- }
- ht = Z_ARRVAL_P(container);
- ZEND_HASH_INDEX_FIND(ht, offset, value, fetch_dim_r_index_undef);
- ZVAL_COPY_UNREF(EX_VAR(opline->result.var), value);
- if (IS_CONST & (IS_TMP_VAR|IS_VAR)) {
- SAVE_OPLINE();
-
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
- } else {
- ZEND_VM_NEXT_OPCODE();
- }
- } else if (IS_CONST != IS_CONST && EXPECTED(Z_TYPE_P(container) == IS_REFERENCE)) {
- container = Z_REFVAL_P(container);
- if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
- goto fetch_dim_r_index_array;
- } else {
- goto fetch_dim_r_index_slow;
- }
- } else {
-fetch_dim_r_index_slow:
- SAVE_OPLINE();
- zend_fetch_dimension_address_read_R_slow(container, dim OPLINE_CC EXECUTE_DATA_CC);
-
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
- }
-
-fetch_dim_r_index_undef:
- ZVAL_NULL(EX_VAR(opline->result.var));
- SAVE_OPLINE();
- zend_undefined_offset(offset);
-
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
-}
-
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_YIELD_SPEC_CONST_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -11030,56 +11030,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_YIELD_SPEC_CONST_CV_HANDLER(ZE
ZEND_VM_RETURN();
}
-static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
- USE_OPLINE
-
- zval *container, *dim, *value;
- zend_long offset;
- HashTable *ht;
-
- container = RT_CONSTANT(opline, opline->op1);
- dim = _get_zval_ptr_cv_undef(opline->op2.var EXECUTE_DATA_CC);
- if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
-fetch_dim_r_index_array:
- if (EXPECTED(Z_TYPE_P(dim) == IS_LONG)) {
- offset = Z_LVAL_P(dim);
- } else {
- offset = zval_get_long(dim);
- }
- ht = Z_ARRVAL_P(container);
- ZEND_HASH_INDEX_FIND(ht, offset, value, fetch_dim_r_index_undef);
- ZVAL_COPY_UNREF(EX_VAR(opline->result.var), value);
- if (IS_CONST & (IS_TMP_VAR|IS_VAR)) {
- SAVE_OPLINE();
-
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
- } else {
- ZEND_VM_NEXT_OPCODE();
- }
- } else if (IS_CONST != IS_CONST && EXPECTED(Z_TYPE_P(container) == IS_REFERENCE)) {
- container = Z_REFVAL_P(container);
- if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
- goto fetch_dim_r_index_array;
- } else {
- goto fetch_dim_r_index_slow;
- }
- } else {
-fetch_dim_r_index_slow:
- SAVE_OPLINE();
- zend_fetch_dimension_address_read_R_slow(container, dim OPLINE_CC EXECUTE_DATA_CC);
-
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
- }
-
-fetch_dim_r_index_undef:
- ZVAL_NULL(EX_VAR(opline->result.var));
- SAVE_OPLINE();
- zend_undefined_offset(offset);
-
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
-}
-
static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_PRE_INC_LONG_NO_OVERFLOW_SPEC_TMPVARCV_RETVAL_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -14536,6 +14486,56 @@ fetch_dim_r_index_undef:
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
}
+static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
+{
+ USE_OPLINE
+ zend_free_op free_op1;
+ zval *container, *dim, *value;
+ zend_long offset;
+ HashTable *ht;
+
+ container = _get_zval_ptr_var(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
+ dim = EX_VAR(opline->op2.var);
+ if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
+fetch_dim_r_index_array:
+ if (EXPECTED(Z_TYPE_P(dim) == IS_LONG)) {
+ offset = Z_LVAL_P(dim);
+ } else {
+ offset = zval_get_long(dim);
+ }
+ ht = Z_ARRVAL_P(container);
+ ZEND_HASH_INDEX_FIND(ht, offset, value, fetch_dim_r_index_undef);
+ ZVAL_COPY_UNREF(EX_VAR(opline->result.var), value);
+ if ((IS_TMP_VAR|IS_VAR) & (IS_TMP_VAR|IS_VAR)) {
+ SAVE_OPLINE();
+ zval_ptr_dtor_nogc(free_op1);
+ ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
+ } else {
+ ZEND_VM_NEXT_OPCODE();
+ }
+ } else if ((IS_TMP_VAR|IS_VAR) != IS_CONST && EXPECTED(Z_TYPE_P(container) == IS_REFERENCE)) {
+ container = Z_REFVAL_P(container);
+ if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
+ goto fetch_dim_r_index_array;
+ } else {
+ goto fetch_dim_r_index_slow;
+ }
+ } else {
+fetch_dim_r_index_slow:
+ SAVE_OPLINE();
+ zend_fetch_dimension_address_read_R_slow(container, dim OPLINE_CC EXECUTE_DATA_CC);
+ zval_ptr_dtor_nogc(free_op1);
+ ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
+ }
+
+fetch_dim_r_index_undef:
+ ZVAL_NULL(EX_VAR(opline->result.var));
+ SAVE_OPLINE();
+ zend_undefined_offset(offset);
+ zval_ptr_dtor_nogc(free_op1);
+ ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
+}
+
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ADD_SPEC_TMPVAR_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -15844,56 +15844,6 @@ isset_no_object:
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
}
-static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
- USE_OPLINE
- zend_free_op free_op1, free_op2;
- zval *container, *dim, *value;
- zend_long offset;
- HashTable *ht;
-
- container = _get_zval_ptr_var(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
- dim = _get_zval_ptr_var(opline->op2.var, &free_op2 EXECUTE_DATA_CC);
- if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
-fetch_dim_r_index_array:
- if (EXPECTED(Z_TYPE_P(dim) == IS_LONG)) {
- offset = Z_LVAL_P(dim);
- } else {
- offset = zval_get_long(dim);
- }
- ht = Z_ARRVAL_P(container);
- ZEND_HASH_INDEX_FIND(ht, offset, value, fetch_dim_r_index_undef);
- ZVAL_COPY_UNREF(EX_VAR(opline->result.var), value);
- if ((IS_TMP_VAR|IS_VAR) & (IS_TMP_VAR|IS_VAR)) {
- SAVE_OPLINE();
- zval_ptr_dtor_nogc(free_op1);
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
- } else {
- ZEND_VM_NEXT_OPCODE();
- }
- } else if ((IS_TMP_VAR|IS_VAR) != IS_CONST && EXPECTED(Z_TYPE_P(container) == IS_REFERENCE)) {
- container = Z_REFVAL_P(container);
- if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
- goto fetch_dim_r_index_array;
- } else {
- goto fetch_dim_r_index_slow;
- }
- } else {
-fetch_dim_r_index_slow:
- SAVE_OPLINE();
- zend_fetch_dimension_address_read_R_slow(container, dim OPLINE_CC EXECUTE_DATA_CC);
- zval_ptr_dtor_nogc(free_op1);
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
- }
-
-fetch_dim_r_index_undef:
- ZVAL_NULL(EX_VAR(opline->result.var));
- SAVE_OPLINE();
- zend_undefined_offset(offset);
- zval_ptr_dtor_nogc(free_op1);
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
-}
-
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_fetch_static_prop_helper_SPEC_TMPVAR_VAR(int type ZEND_OPCODE_HANDLER_ARGS_DC)
{
USE_OPLINE
@@ -17743,56 +17693,6 @@ isset_no_object:
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
}
-static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
- USE_OPLINE
- zend_free_op free_op1;
- zval *container, *dim, *value;
- zend_long offset;
- HashTable *ht;
-
- container = _get_zval_ptr_var(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
- dim = _get_zval_ptr_cv_undef(opline->op2.var EXECUTE_DATA_CC);
- if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
-fetch_dim_r_index_array:
- if (EXPECTED(Z_TYPE_P(dim) == IS_LONG)) {
- offset = Z_LVAL_P(dim);
- } else {
- offset = zval_get_long(dim);
- }
- ht = Z_ARRVAL_P(container);
- ZEND_HASH_INDEX_FIND(ht, offset, value, fetch_dim_r_index_undef);
- ZVAL_COPY_UNREF(EX_VAR(opline->result.var), value);
- if ((IS_TMP_VAR|IS_VAR) & (IS_TMP_VAR|IS_VAR)) {
- SAVE_OPLINE();
- zval_ptr_dtor_nogc(free_op1);
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
- } else {
- ZEND_VM_NEXT_OPCODE();
- }
- } else if ((IS_TMP_VAR|IS_VAR) != IS_CONST && EXPECTED(Z_TYPE_P(container) == IS_REFERENCE)) {
- container = Z_REFVAL_P(container);
- if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
- goto fetch_dim_r_index_array;
- } else {
- goto fetch_dim_r_index_slow;
- }
- } else {
-fetch_dim_r_index_slow:
- SAVE_OPLINE();
- zend_fetch_dimension_address_read_R_slow(container, dim OPLINE_CC EXECUTE_DATA_CC);
- zval_ptr_dtor_nogc(free_op1);
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
- }
-
-fetch_dim_r_index_undef:
- ZVAL_NULL(EX_VAR(opline->result.var));
- SAVE_OPLINE();
- zend_undefined_offset(offset);
- zval_ptr_dtor_nogc(free_op1);
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
-}
-
static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_RETURN_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -42014,6 +41914,56 @@ fetch_dim_r_index_undef:
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
}
+static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
+{
+ USE_OPLINE
+
+ zval *container, *dim, *value;
+ zend_long offset;
+ HashTable *ht;
+
+ container = _get_zval_ptr_cv_undef(opline->op1.var EXECUTE_DATA_CC);
+ dim = EX_VAR(opline->op2.var);
+ if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
+fetch_dim_r_index_array:
+ if (EXPECTED(Z_TYPE_P(dim) == IS_LONG)) {
+ offset = Z_LVAL_P(dim);
+ } else {
+ offset = zval_get_long(dim);
+ }
+ ht = Z_ARRVAL_P(container);
+ ZEND_HASH_INDEX_FIND(ht, offset, value, fetch_dim_r_index_undef);
+ ZVAL_COPY_UNREF(EX_VAR(opline->result.var), value);
+ if (IS_CV & (IS_TMP_VAR|IS_VAR)) {
+ SAVE_OPLINE();
+
+ ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
+ } else {
+ ZEND_VM_NEXT_OPCODE();
+ }
+ } else if (IS_CV != IS_CONST && EXPECTED(Z_TYPE_P(container) == IS_REFERENCE)) {
+ container = Z_REFVAL_P(container);
+ if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
+ goto fetch_dim_r_index_array;
+ } else {
+ goto fetch_dim_r_index_slow;
+ }
+ } else {
+fetch_dim_r_index_slow:
+ SAVE_OPLINE();
+ zend_fetch_dimension_address_read_R_slow(container, dim OPLINE_CC EXECUTE_DATA_CC);
+
+ ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
+ }
+
+fetch_dim_r_index_undef:
+ ZVAL_NULL(EX_VAR(opline->result.var));
+ SAVE_OPLINE();
+ zend_undefined_offset(offset);
+
+ ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
+}
+
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_ADD_SPEC_CV_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -45095,56 +45045,6 @@ isset_no_object:
ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
}
-static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
- USE_OPLINE
- zend_free_op free_op2;
- zval *container, *dim, *value;
- zend_long offset;
- HashTable *ht;
-
- container = _get_zval_ptr_cv_undef(opline->op1.var EXECUTE_DATA_CC);
- dim = _get_zval_ptr_var(opline->op2.var, &free_op2 EXECUTE_DATA_CC);
- if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
-fetch_dim_r_index_array:
- if (EXPECTED(Z_TYPE_P(dim) == IS_LONG)) {
- offset = Z_LVAL_P(dim);
- } else {
- offset = zval_get_long(dim);
- }
- ht = Z_ARRVAL_P(container);
- ZEND_HASH_INDEX_FIND(ht, offset, value, fetch_dim_r_index_undef);
- ZVAL_COPY_UNREF(EX_VAR(opline->result.var), value);
- if (IS_CV & (IS_TMP_VAR|IS_VAR)) {
- SAVE_OPLINE();
-
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
- } else {
- ZEND_VM_NEXT_OPCODE();
- }
- } else if (IS_CV != IS_CONST && EXPECTED(Z_TYPE_P(container) == IS_REFERENCE)) {
- container = Z_REFVAL_P(container);
- if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
- goto fetch_dim_r_index_array;
- } else {
- goto fetch_dim_r_index_slow;
- }
- } else {
-fetch_dim_r_index_slow:
- SAVE_OPLINE();
- zend_fetch_dimension_address_read_R_slow(container, dim OPLINE_CC EXECUTE_DATA_CC);
-
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
- }
-
-fetch_dim_r_index_undef:
- ZVAL_NULL(EX_VAR(opline->result.var));
- SAVE_OPLINE();
- zend_undefined_offset(offset);
-
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
-}
-
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_IS_IDENTICAL_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -50886,56 +50786,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_YIELD_SPEC_CV_CV_HANDLER(ZEND_
ZEND_VM_RETURN();
}
-static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_INDEX_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
-{
- USE_OPLINE
-
- zval *container, *dim, *value;
- zend_long offset;
- HashTable *ht;
-
- container = _get_zval_ptr_cv_undef(opline->op1.var EXECUTE_DATA_CC);
- dim = _get_zval_ptr_cv_undef(opline->op2.var EXECUTE_DATA_CC);
- if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
-fetch_dim_r_index_array:
- if (EXPECTED(Z_TYPE_P(dim) == IS_LONG)) {
- offset = Z_LVAL_P(dim);
- } else {
- offset = zval_get_long(dim);
- }
- ht = Z_ARRVAL_P(container);
- ZEND_HASH_INDEX_FIND(ht, offset, value, fetch_dim_r_index_undef);
- ZVAL_COPY_UNREF(EX_VAR(opline->result.var), value);
- if (IS_CV & (IS_TMP_VAR|IS_VAR)) {
- SAVE_OPLINE();
-
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
- } else {
- ZEND_VM_NEXT_OPCODE();
- }
- } else if (IS_CV != IS_CONST && EXPECTED(Z_TYPE_P(container) == IS_REFERENCE)) {
- container = Z_REFVAL_P(container);
- if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
- goto fetch_dim_r_index_array;
- } else {
- goto fetch_dim_r_index_slow;
- }
- } else {
-fetch_dim_r_index_slow:
- SAVE_OPLINE();
- zend_fetch_dimension_address_read_R_slow(container, dim OPLINE_CC EXECUTE_DATA_CC);
-
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
- }
-
-fetch_dim_r_index_undef:
- ZVAL_NULL(EX_VAR(opline->result.var));
- SAVE_OPLINE();
- zend_undefined_offset(offset);
-
- ZEND_VM_NEXT_OPCODE_CHECK_EXCEPTION();
-}
-
static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_NULL_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
{
USE_OPLINE
@@ -54864,30 +54714,30 @@ ZEND_API void execute_ex(zend_execute_data *ex)
(void*)&&ZEND_NULL_LABEL,
(void*)&&ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV_LABEL,
(void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_CONST_LABEL,
- (void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVAR_LABEL,
- (void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVAR_LABEL,
+ (void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV_LABEL,
+ (void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV_LABEL,
(void*)&&ZEND_NULL_LABEL,
- (void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_CV_LABEL,
+ (void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV_LABEL,
(void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST_LABEL,
- (void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVAR_LABEL,
- (void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVAR_LABEL,
+ (void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV_LABEL,
+ (void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV_LABEL,
(void*)&&ZEND_NULL_LABEL,
- (void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CV_LABEL,
+ (void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV_LABEL,
(void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST_LABEL,
- (void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVAR_LABEL,
- (void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVAR_LABEL,
+ (void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV_LABEL,
+ (void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV_LABEL,
(void*)&&ZEND_NULL_LABEL,
- (void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CV_LABEL,
+ (void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV_LABEL,
(void*)&&ZEND_NULL_LABEL,
(void*)&&ZEND_NULL_LABEL,
(void*)&&ZEND_NULL_LABEL,
(void*)&&ZEND_NULL_LABEL,
(void*)&&ZEND_NULL_LABEL,
(void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_CV_CONST_LABEL,
- (void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVAR_LABEL,
- (void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVAR_LABEL,
+ (void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV_LABEL,
+ (void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV_LABEL,
(void*)&&ZEND_NULL_LABEL,
- (void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_CV_CV_LABEL,
+ (void*)&&ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV_LABEL,
(void*)&&ZEND_NULL_LABEL,
(void*)&&ZEND_NULL_LABEL,
(void*)&&ZEND_SEND_VAR_SIMPLE_SPEC_VAR_LABEL,
@@ -55500,6 +55350,10 @@ ZEND_API void execute_ex(zend_execute_data *ex)
VM_TRACE(ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ)
ZEND_IS_SMALLER_OR_EQUAL_DOUBLE_SPEC_CONST_TMPVARCV_JMPNZ_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
+ HYBRID_CASE(ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV):
+ VM_TRACE(ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV)
+ ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
+ HYBRID_BREAK();
HYBRID_CASE(ZEND_ADD_SPEC_CONST_TMPVAR):
VM_TRACE(ZEND_ADD_SPEC_CONST_TMPVAR)
ZEND_ADD_SPEC_CONST_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -55604,10 +55458,6 @@ ZEND_API void execute_ex(zend_execute_data *ex)
VM_TRACE(ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CONST_TMPVAR)
ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CONST_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
- HYBRID_CASE(ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVAR):
- VM_TRACE(ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVAR)
- ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
- HYBRID_BREAK();
HYBRID_CASE(ZEND_YIELD_SPEC_CONST_TMP):
VM_TRACE(ZEND_YIELD_SPEC_CONST_TMP)
ZEND_YIELD_SPEC_CONST_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -55868,10 +55718,6 @@ ZEND_API void execute_ex(zend_execute_data *ex)
VM_TRACE(ZEND_YIELD_SPEC_CONST_CV)
ZEND_YIELD_SPEC_CONST_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
- HYBRID_CASE(ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_CV):
- VM_TRACE(ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_CV)
- ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
- HYBRID_BREAK();
HYBRID_CASE(ZEND_PRE_INC_LONG_NO_OVERFLOW_SPEC_TMPVARCV_RETVAL_UNUSED):
VM_TRACE(ZEND_PRE_INC_LONG_NO_OVERFLOW_SPEC_TMPVARCV_RETVAL_UNUSED)
ZEND_PRE_INC_LONG_NO_OVERFLOW_SPEC_TMPVARCV_RETVAL_UNUSED_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -56448,6 +56294,10 @@ ZEND_API void execute_ex(zend_execute_data *ex)
VM_TRACE(ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST)
ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
+ HYBRID_CASE(ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV):
+ VM_TRACE(ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV)
+ ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
+ HYBRID_BREAK();
HYBRID_CASE(ZEND_ADD_SPEC_TMPVAR_TMPVAR):
VM_TRACE(ZEND_ADD_SPEC_TMPVAR_TMPVAR)
ZEND_ADD_SPEC_TMPVAR_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -56556,10 +56406,6 @@ ZEND_API void execute_ex(zend_execute_data *ex)
VM_TRACE(ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_TMPVAR)
ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
- HYBRID_CASE(ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVAR):
- VM_TRACE(ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVAR)
- ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
- HYBRID_BREAK();
HYBRID_CASE(ZEND_FETCH_STATIC_PROP_R_SPEC_TMPVAR_VAR):
VM_TRACE(ZEND_FETCH_STATIC_PROP_R_SPEC_TMPVAR_VAR)
ZEND_FETCH_STATIC_PROP_R_SPEC_TMPVAR_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -56744,10 +56590,6 @@ ZEND_API void execute_ex(zend_execute_data *ex)
VM_TRACE(ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_CV)
ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_TMPVAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
- HYBRID_CASE(ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CV):
- VM_TRACE(ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CV)
- ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
- HYBRID_BREAK();
HYBRID_CASE(ZEND_RETURN_SPEC_TMP):
VM_TRACE(ZEND_RETURN_SPEC_TMP)
ZEND_RETURN_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -59084,6 +58926,10 @@ ZEND_API void execute_ex(zend_execute_data *ex)
VM_TRACE(ZEND_FETCH_DIM_R_INDEX_SPEC_CV_CONST)
ZEND_FETCH_DIM_R_INDEX_SPEC_CV_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
+ HYBRID_CASE(ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV):
+ VM_TRACE(ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV)
+ ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
+ HYBRID_BREAK();
HYBRID_CASE(ZEND_ADD_SPEC_CV_TMPVAR):
VM_TRACE(ZEND_ADD_SPEC_CV_TMPVAR)
ZEND_ADD_SPEC_CV_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -59432,10 +59278,6 @@ ZEND_API void execute_ex(zend_execute_data *ex)
VM_TRACE(ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CV_TMPVAR)
ZEND_ISSET_ISEMPTY_PROP_OBJ_SPEC_CV_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
- HYBRID_CASE(ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVAR):
- VM_TRACE(ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVAR)
- ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
- HYBRID_BREAK();
HYBRID_CASE(ZEND_IS_IDENTICAL_SPEC_CV_TMP):
VM_TRACE(ZEND_IS_IDENTICAL_SPEC_CV_TMP)
ZEND_IS_IDENTICAL_SPEC_CV_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
@@ -60080,10 +59922,6 @@ ZEND_API void execute_ex(zend_execute_data *ex)
VM_TRACE(ZEND_YIELD_SPEC_CV_CV)
ZEND_YIELD_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
HYBRID_BREAK();
- HYBRID_CASE(ZEND_FETCH_DIM_R_INDEX_SPEC_CV_CV):
- VM_TRACE(ZEND_FETCH_DIM_R_INDEX_SPEC_CV_CV)
- ZEND_FETCH_DIM_R_INDEX_SPEC_CV_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);
- HYBRID_BREAK();
HYBRID_CASE(HYBRID_HALT):
execute_data = orig_execute_data;
opline = orig_opline;
@@ -64044,30 +63882,30 @@ void zend_vm_init(void)
ZEND_NULL_HANDLER,
ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV_HANDLER,
ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_CONST_HANDLER,
- ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVAR_HANDLER,
- ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVAR_HANDLER,
+ ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV_HANDLER,
+ ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV_HANDLER,
ZEND_NULL_HANDLER,
- ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_CV_HANDLER,
+ ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV_HANDLER,
ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST_HANDLER,
- ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVAR_HANDLER,
- ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVAR_HANDLER,
+ ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV_HANDLER,
+ ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV_HANDLER,
ZEND_NULL_HANDLER,
- ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CV_HANDLER,
+ ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV_HANDLER,
ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST_HANDLER,
- ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVAR_HANDLER,
- ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVAR_HANDLER,
+ ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV_HANDLER,
+ ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV_HANDLER,
ZEND_NULL_HANDLER,
- ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CV_HANDLER,
+ ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV_HANDLER,
ZEND_NULL_HANDLER,
ZEND_NULL_HANDLER,
ZEND_NULL_HANDLER,
ZEND_NULL_HANDLER,
ZEND_NULL_HANDLER,
ZEND_FETCH_DIM_R_INDEX_SPEC_CV_CONST_HANDLER,
- ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVAR_HANDLER,
- ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVAR_HANDLER,
+ ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV_HANDLER,
+ ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV_HANDLER,
ZEND_NULL_HANDLER,
- ZEND_FETCH_DIM_R_INDEX_SPEC_CV_CV_HANDLER,
+ ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV_HANDLER,
ZEND_NULL_HANDLER,
ZEND_NULL_HANDLER,
ZEND_SEND_VAR_SIMPLE_SPEC_VAR_HANDLER,
diff --git a/Zend/zend_vm_handlers.h b/Zend/zend_vm_handlers.h
index df689381f4..03f8087fa3 100644
--- a/Zend/zend_vm_handlers.h
+++ b/Zend/zend_vm_handlers.h
@@ -2038,21 +2038,21 @@
_(3898, ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV) \
_(3900, ZEND_QM_ASSIGN_NOREF_SPEC_TMPVARCV) \
_(3901, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_CONST) \
- _(3902, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVAR) \
- _(3903, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVAR) \
- _(3905, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_CV) \
+ _(3902, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \
+ _(3903, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \
+ _(3905, ZEND_FETCH_DIM_R_INDEX_SPEC_CONST_TMPVARCV) \
_(3906, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST) \
- _(3907, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVAR) \
- _(3908, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVAR) \
- _(3910, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CV) \
+ _(3907, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
+ _(3908, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
+ _(3910, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
_(3911, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CONST) \
- _(3912, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVAR) \
- _(3913, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVAR) \
- _(3915, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_CV) \
+ _(3912, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
+ _(3913, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
+ _(3915, ZEND_FETCH_DIM_R_INDEX_SPEC_TMPVAR_TMPVARCV) \
_(3921, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_CONST) \
- _(3922, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVAR) \
- _(3923, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVAR) \
- _(3925, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_CV) \
+ _(3922, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \
+ _(3923, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \
+ _(3925, ZEND_FETCH_DIM_R_INDEX_SPEC_CV_TMPVARCV) \
_(3928, ZEND_SEND_VAR_SIMPLE_SPEC_VAR) \
_(3930, ZEND_SEND_VAR_SIMPLE_SPEC_CV) \
_(3933, ZEND_SEND_VAR_EX_SIMPLE_SPEC_VAR) \