mirror of
https://github.com/php/php-src.git
synced 2026-04-30 03:33:17 +02:00
Delay exceptional case check
This commit is contained in:
+5
-6
@@ -903,11 +903,6 @@ ZEND_VM_C_LABEL(assign_dim_op_new_array):
|
||||
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
|
||||
ZEND_VM_C_GOTO(assign_dim_op_array);
|
||||
}
|
||||
} else if (OP1_TYPE == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
|
||||
container = GET_OP1_UNDEF_CV(container, BP_VAR_RW);
|
||||
ZEND_VM_C_LABEL(assign_dim_op_convert_to_array):
|
||||
ZVAL_ARR(container, zend_new_array(8));
|
||||
ZEND_VM_C_GOTO(assign_dim_op_new_array);
|
||||
}
|
||||
|
||||
dim = GET_OP2_ZVAL_PTR(BP_VAR_R);
|
||||
@@ -928,7 +923,11 @@ ZEND_VM_C_LABEL(assign_dim_op_convert_to_array):
|
||||
}
|
||||
UNDEF_RESULT();
|
||||
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
|
||||
ZEND_VM_C_GOTO(assign_dim_op_convert_to_array);
|
||||
if (OP1_TYPE == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
|
||||
container = GET_OP1_UNDEF_CV(container, BP_VAR_RW);
|
||||
}
|
||||
ZVAL_ARR(container, zend_new_array(8));
|
||||
ZEND_VM_C_GOTO(assign_dim_op_new_array);
|
||||
} else {
|
||||
if (UNEXPECTED(OP1_TYPE != IS_VAR || EXPECTED(!Z_ISERROR_P(container)))) {
|
||||
zend_use_scalar_as_array();
|
||||
|
||||
+40
-48
@@ -21899,11 +21899,6 @@ assign_dim_op_new_array:
|
||||
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
|
||||
goto assign_dim_op_array;
|
||||
}
|
||||
} else if (IS_VAR == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
|
||||
container = GET_OP1_UNDEF_CV(container, BP_VAR_RW);
|
||||
assign_dim_op_convert_to_array:
|
||||
ZVAL_ARR(container, zend_new_array(8));
|
||||
goto assign_dim_op_new_array;
|
||||
}
|
||||
|
||||
dim = RT_CONSTANT(opline, opline->op2);
|
||||
@@ -21924,7 +21919,11 @@ assign_dim_op_convert_to_array:
|
||||
}
|
||||
UNDEF_RESULT();
|
||||
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
|
||||
goto assign_dim_op_convert_to_array;
|
||||
if (IS_VAR == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
|
||||
container = GET_OP1_UNDEF_CV(container, BP_VAR_RW);
|
||||
}
|
||||
ZVAL_ARR(container, zend_new_array(8));
|
||||
goto assign_dim_op_new_array;
|
||||
} else {
|
||||
if (UNEXPECTED(IS_VAR != IS_VAR || EXPECTED(!Z_ISERROR_P(container)))) {
|
||||
zend_use_scalar_as_array();
|
||||
@@ -24229,11 +24228,6 @@ assign_dim_op_new_array:
|
||||
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
|
||||
goto assign_dim_op_array;
|
||||
}
|
||||
} else if (IS_VAR == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
|
||||
container = GET_OP1_UNDEF_CV(container, BP_VAR_RW);
|
||||
assign_dim_op_convert_to_array:
|
||||
ZVAL_ARR(container, zend_new_array(8));
|
||||
goto assign_dim_op_new_array;
|
||||
}
|
||||
|
||||
dim = _get_zval_ptr_var(opline->op2.var, &free_op2 EXECUTE_DATA_CC);
|
||||
@@ -24254,7 +24248,11 @@ assign_dim_op_convert_to_array:
|
||||
}
|
||||
UNDEF_RESULT();
|
||||
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
|
||||
goto assign_dim_op_convert_to_array;
|
||||
if (IS_VAR == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
|
||||
container = GET_OP1_UNDEF_CV(container, BP_VAR_RW);
|
||||
}
|
||||
ZVAL_ARR(container, zend_new_array(8));
|
||||
goto assign_dim_op_new_array;
|
||||
} else {
|
||||
if (UNEXPECTED(IS_VAR != IS_VAR || EXPECTED(!Z_ISERROR_P(container)))) {
|
||||
zend_use_scalar_as_array();
|
||||
@@ -26710,11 +26708,6 @@ assign_dim_op_new_array:
|
||||
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
|
||||
goto assign_dim_op_array;
|
||||
}
|
||||
} else if (IS_VAR == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
|
||||
container = GET_OP1_UNDEF_CV(container, BP_VAR_RW);
|
||||
assign_dim_op_convert_to_array:
|
||||
ZVAL_ARR(container, zend_new_array(8));
|
||||
goto assign_dim_op_new_array;
|
||||
}
|
||||
|
||||
dim = NULL;
|
||||
@@ -26735,7 +26728,11 @@ assign_dim_op_convert_to_array:
|
||||
}
|
||||
UNDEF_RESULT();
|
||||
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
|
||||
goto assign_dim_op_convert_to_array;
|
||||
if (IS_VAR == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
|
||||
container = GET_OP1_UNDEF_CV(container, BP_VAR_RW);
|
||||
}
|
||||
ZVAL_ARR(container, zend_new_array(8));
|
||||
goto assign_dim_op_new_array;
|
||||
} else {
|
||||
if (UNEXPECTED(IS_VAR != IS_VAR || EXPECTED(!Z_ISERROR_P(container)))) {
|
||||
zend_use_scalar_as_array();
|
||||
@@ -28092,11 +28089,6 @@ assign_dim_op_new_array:
|
||||
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
|
||||
goto assign_dim_op_array;
|
||||
}
|
||||
} else if (IS_VAR == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
|
||||
container = GET_OP1_UNDEF_CV(container, BP_VAR_RW);
|
||||
assign_dim_op_convert_to_array:
|
||||
ZVAL_ARR(container, zend_new_array(8));
|
||||
goto assign_dim_op_new_array;
|
||||
}
|
||||
|
||||
dim = _get_zval_ptr_cv_BP_VAR_R(opline->op2.var EXECUTE_DATA_CC);
|
||||
@@ -28117,7 +28109,11 @@ assign_dim_op_convert_to_array:
|
||||
}
|
||||
UNDEF_RESULT();
|
||||
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
|
||||
goto assign_dim_op_convert_to_array;
|
||||
if (IS_VAR == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
|
||||
container = GET_OP1_UNDEF_CV(container, BP_VAR_RW);
|
||||
}
|
||||
ZVAL_ARR(container, zend_new_array(8));
|
||||
goto assign_dim_op_new_array;
|
||||
} else {
|
||||
if (UNEXPECTED(IS_VAR != IS_VAR || EXPECTED(!Z_ISERROR_P(container)))) {
|
||||
zend_use_scalar_as_array();
|
||||
@@ -38562,11 +38558,6 @@ assign_dim_op_new_array:
|
||||
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
|
||||
goto assign_dim_op_array;
|
||||
}
|
||||
} else if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
|
||||
container = GET_OP1_UNDEF_CV(container, BP_VAR_RW);
|
||||
assign_dim_op_convert_to_array:
|
||||
ZVAL_ARR(container, zend_new_array(8));
|
||||
goto assign_dim_op_new_array;
|
||||
}
|
||||
|
||||
dim = RT_CONSTANT(opline, opline->op2);
|
||||
@@ -38587,7 +38578,11 @@ assign_dim_op_convert_to_array:
|
||||
}
|
||||
UNDEF_RESULT();
|
||||
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
|
||||
goto assign_dim_op_convert_to_array;
|
||||
if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
|
||||
container = GET_OP1_UNDEF_CV(container, BP_VAR_RW);
|
||||
}
|
||||
ZVAL_ARR(container, zend_new_array(8));
|
||||
goto assign_dim_op_new_array;
|
||||
} else {
|
||||
if (UNEXPECTED(IS_CV != IS_VAR || EXPECTED(!Z_ISERROR_P(container)))) {
|
||||
zend_use_scalar_as_array();
|
||||
@@ -42403,11 +42398,6 @@ assign_dim_op_new_array:
|
||||
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
|
||||
goto assign_dim_op_array;
|
||||
}
|
||||
} else if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
|
||||
container = GET_OP1_UNDEF_CV(container, BP_VAR_RW);
|
||||
assign_dim_op_convert_to_array:
|
||||
ZVAL_ARR(container, zend_new_array(8));
|
||||
goto assign_dim_op_new_array;
|
||||
}
|
||||
|
||||
dim = _get_zval_ptr_var(opline->op2.var, &free_op2 EXECUTE_DATA_CC);
|
||||
@@ -42428,7 +42418,11 @@ assign_dim_op_convert_to_array:
|
||||
}
|
||||
UNDEF_RESULT();
|
||||
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
|
||||
goto assign_dim_op_convert_to_array;
|
||||
if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
|
||||
container = GET_OP1_UNDEF_CV(container, BP_VAR_RW);
|
||||
}
|
||||
ZVAL_ARR(container, zend_new_array(8));
|
||||
goto assign_dim_op_new_array;
|
||||
} else {
|
||||
if (UNEXPECTED(IS_CV != IS_VAR || EXPECTED(!Z_ISERROR_P(container)))) {
|
||||
zend_use_scalar_as_array();
|
||||
@@ -45632,11 +45626,6 @@ assign_dim_op_new_array:
|
||||
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
|
||||
goto assign_dim_op_array;
|
||||
}
|
||||
} else if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
|
||||
container = GET_OP1_UNDEF_CV(container, BP_VAR_RW);
|
||||
assign_dim_op_convert_to_array:
|
||||
ZVAL_ARR(container, zend_new_array(8));
|
||||
goto assign_dim_op_new_array;
|
||||
}
|
||||
|
||||
dim = NULL;
|
||||
@@ -45657,7 +45646,11 @@ assign_dim_op_convert_to_array:
|
||||
}
|
||||
UNDEF_RESULT();
|
||||
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
|
||||
goto assign_dim_op_convert_to_array;
|
||||
if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
|
||||
container = GET_OP1_UNDEF_CV(container, BP_VAR_RW);
|
||||
}
|
||||
ZVAL_ARR(container, zend_new_array(8));
|
||||
goto assign_dim_op_new_array;
|
||||
} else {
|
||||
if (UNEXPECTED(IS_CV != IS_VAR || EXPECTED(!Z_ISERROR_P(container)))) {
|
||||
zend_use_scalar_as_array();
|
||||
@@ -48105,11 +48098,6 @@ assign_dim_op_new_array:
|
||||
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
|
||||
goto assign_dim_op_array;
|
||||
}
|
||||
} else if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
|
||||
container = GET_OP1_UNDEF_CV(container, BP_VAR_RW);
|
||||
assign_dim_op_convert_to_array:
|
||||
ZVAL_ARR(container, zend_new_array(8));
|
||||
goto assign_dim_op_new_array;
|
||||
}
|
||||
|
||||
dim = _get_zval_ptr_cv_BP_VAR_R(opline->op2.var EXECUTE_DATA_CC);
|
||||
@@ -48130,7 +48118,11 @@ assign_dim_op_convert_to_array:
|
||||
}
|
||||
UNDEF_RESULT();
|
||||
} else if (EXPECTED(Z_TYPE_P(container) <= IS_FALSE)) {
|
||||
goto assign_dim_op_convert_to_array;
|
||||
if (IS_CV == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(container) == IS_UNDEF)) {
|
||||
container = GET_OP1_UNDEF_CV(container, BP_VAR_RW);
|
||||
}
|
||||
ZVAL_ARR(container, zend_new_array(8));
|
||||
goto assign_dim_op_new_array;
|
||||
} else {
|
||||
if (UNEXPECTED(IS_CV != IS_VAR || EXPECTED(!Z_ISERROR_P(container)))) {
|
||||
zend_use_scalar_as_array();
|
||||
|
||||
Reference in New Issue
Block a user