@@ -1135,8 +1135,7 @@ static void sccp_visit_instr(scdf_ctx *scdf, zend_op *opline, zend_ssa_op *ssa_o
1135
1135
if (op2 && IS_BOT (op2 )) {
1136
1136
/* Update of unknown index */
1137
1137
SET_RESULT_BOT (result );
1138
- if (ssa_op -> op1_def >= 0
1139
- && ctx -> scdf .ssa -> vars [ssa_op -> op1_def ].escape_state == ESCAPE_STATE_NO_ESCAPE ) {
1138
+ if (ssa_op -> op1_def >= 0 ) {
1140
1139
empty_partial_array (& zv );
1141
1140
SET_RESULT (op1 , & zv );
1142
1141
zval_ptr_dtor_nogc (& zv );
@@ -1153,8 +1152,7 @@ static void sccp_visit_instr(scdf_ctx *scdf, zend_op *opline, zend_ssa_op *ssa_o
1153
1152
|| Z_TYPE_P (op1 ) == IS_NULL
1154
1153
|| Z_TYPE_P (op1 ) == IS_FALSE
1155
1154
|| Z_TYPE_P (op1 ) == IS_ARRAY )
1156
- && ssa_op -> op1_def >= 0
1157
- && ctx -> scdf .ssa -> vars [ssa_op -> op1_def ].escape_state == ESCAPE_STATE_NO_ESCAPE ) {
1155
+ && ssa_op -> op1_def >= 0 ) {
1158
1156
1159
1157
if (Z_TYPE_P (op1 ) == IS_NULL || Z_TYPE_P (op1 ) == IS_FALSE ) {
1160
1158
empty_partial_array (& zv );
@@ -1333,8 +1331,7 @@ static void sccp_visit_instr(scdf_ctx *scdf, zend_op *opline, zend_ssa_op *ssa_o
1333
1331
if (op2 && IS_BOT (op2 )) {
1334
1332
/* Update of unknown index */
1335
1333
SET_RESULT_BOT (op1 );
1336
- if (ssa_op -> result_def >= 0
1337
- && ctx -> scdf .ssa -> vars [ssa_op -> result_def ].escape_state == ESCAPE_STATE_NO_ESCAPE ) {
1334
+ if (ssa_op -> result_def >= 0 ) {
1338
1335
empty_partial_array (& zv );
1339
1336
SET_RESULT (result , & zv );
1340
1337
zval_ptr_dtor_nogc (& zv );
@@ -1348,8 +1345,7 @@ static void sccp_visit_instr(scdf_ctx *scdf, zend_op *opline, zend_ssa_op *ssa_o
1348
1345
|| (opline -> extended_value & ZEND_ARRAY_ELEMENT_REF )) {
1349
1346
1350
1347
SET_RESULT_BOT (op1 );
1351
- if (ssa_op -> result_def >= 0
1352
- && ctx -> scdf .ssa -> vars [ssa_op -> result_def ].escape_state == ESCAPE_STATE_NO_ESCAPE ) {
1348
+ if (ssa_op -> result_def >= 0 ) {
1353
1349
if (!result ) {
1354
1350
empty_partial_array (& zv );
1355
1351
} else {
@@ -1505,9 +1501,7 @@ static void sccp_visit_instr(scdf_ctx *scdf, zend_op *opline, zend_ssa_op *ssa_o
1505
1501
}
1506
1502
} else if (opline -> extended_value == ZEND_ASSIGN_DIM ) {
1507
1503
if ((IS_PARTIAL_ARRAY (op1 ) || Z_TYPE_P (op1 ) == IS_ARRAY )
1508
- && ssa_op -> op1_def >= 0
1509
- && ctx -> scdf .ssa -> vars [ssa_op -> op1_def ].escape_state == ESCAPE_STATE_NO_ESCAPE
1510
- && op2 ) {
1504
+ && ssa_op -> op1_def >= 0 && op2 ) {
1511
1505
zval tmp ;
1512
1506
zval * data = get_op1_value (ctx , opline + 1 , ssa_op + 1 );
1513
1507
@@ -2126,7 +2120,7 @@ static void join_phi_values(zval *a, zval *b, zend_bool escape) {
2126
2120
return ;
2127
2121
}
2128
2122
if (IS_PARTIAL_ARRAY (a ) || IS_PARTIAL_ARRAY (b )) {
2129
- if (escape || join_partial_arrays (a , b ) != SUCCESS ) {
2123
+ if (join_partial_arrays (a , b ) != SUCCESS ) {
2130
2124
zval_ptr_dtor_nogc (a );
2131
2125
MAKE_BOT (a );
2132
2126
}
@@ -2136,7 +2130,7 @@ static void join_phi_values(zval *a, zval *b, zend_bool escape) {
2136
2130
MAKE_BOT (a );
2137
2131
}
2138
2132
} else if (!zend_is_identical (a , b )) {
2139
- if (escape || join_partial_arrays (a , b ) != SUCCESS ) {
2133
+ if (join_partial_arrays (a , b ) != SUCCESS ) {
2140
2134
zval_ptr_dtor_nogc (a );
2141
2135
MAKE_BOT (a );
2142
2136
}
0 commit comments