@@ -91,7 +91,7 @@ static bool needs_pi(const zend_op_array *op_array, const zend_dfg *dfg, const z
91
91
/* }}} */
92
92
93
93
static zend_ssa_phi * add_pi (
94
- zend_arena * * arena , const zend_op_array * op_array , zend_dfg * dfg , zend_ssa * ssa ,
94
+ zend_arena * * arena , const zend_op_array * op_array , const zend_dfg * dfg , const zend_ssa * ssa ,
95
95
int from , int to , int var ) /* {{{ */
96
96
{
97
97
zend_ssa_phi * phi ;
@@ -241,8 +241,8 @@ static int find_adjusted_tmp_var(const zend_op_array *op_array, uint32_t build_f
241
241
*/
242
242
static void place_essa_pis (
243
243
zend_arena * * arena , const zend_script * script , const zend_op_array * op_array ,
244
- uint32_t build_flags , zend_ssa * ssa , zend_dfg * dfg ) /* {{{ */ {
245
- zend_basic_block * blocks = ssa -> cfg .blocks ;
244
+ uint32_t build_flags , const zend_ssa * ssa , const zend_dfg * dfg ) /* {{{ */ {
245
+ const zend_basic_block * blocks = ssa -> cfg .blocks ;
246
246
int j , blocks_count = ssa -> cfg .blocks_count ;
247
247
for (j = 0 ; j < blocks_count ; j ++ ) {
248
248
zend_ssa_phi * pi ;
@@ -819,12 +819,12 @@ ZEND_API int zend_ssa_rename_op(const zend_op_array *op_array, const zend_op *op
819
819
820
820
static void zend_ssa_rename_in_block (const zend_op_array * op_array , uint32_t build_flags , zend_ssa * ssa , int * var , int n ) /* {{{ */
821
821
{
822
- zend_basic_block * blocks = ssa -> cfg .blocks ;
823
- zend_ssa_block * ssa_blocks = ssa -> blocks ;
822
+ const zend_basic_block * blocks = ssa -> cfg .blocks ;
823
+ const zend_ssa_block * ssa_blocks = ssa -> blocks ;
824
824
zend_ssa_op * ssa_ops = ssa -> ops ;
825
825
int ssa_vars_count = ssa -> vars_count ;
826
826
int i , j ;
827
- zend_op * opline , * end ;
827
+ const zend_op * opline , * end ;
828
828
829
829
if (ssa_blocks [n ].phis ) {
830
830
zend_ssa_phi * phi = ssa_blocks [n ].phis ;
@@ -849,7 +849,7 @@ static void zend_ssa_rename_in_block(const zend_op_array *op_array, uint32_t bui
849
849
}
850
850
}
851
851
852
- zend_ssa_op * fe_fetch_ssa_op = blocks [n ].len != 0
852
+ const zend_ssa_op * fe_fetch_ssa_op = blocks [n ].len != 0
853
853
&& ((end - 1 )-> opcode == ZEND_FE_FETCH_R || (end - 1 )-> opcode == ZEND_FE_FETCH_RW )
854
854
&& (end - 1 )-> op2_type == IS_CV
855
855
? & ssa_ops [blocks [n ].start + blocks [n ].len - 1 ] : NULL ;
@@ -995,7 +995,7 @@ backtrack:;
995
995
996
996
ZEND_API zend_result zend_build_ssa (zend_arena * * arena , const zend_script * script , const zend_op_array * op_array , uint32_t build_flags , zend_ssa * ssa ) /* {{{ */
997
997
{
998
- zend_basic_block * blocks = ssa -> cfg .blocks ;
998
+ const zend_basic_block * blocks = ssa -> cfg .blocks ;
999
999
zend_ssa_block * ssa_blocks ;
1000
1000
int blocks_count = ssa -> cfg .blocks_count ;
1001
1001
uint32_t set_size ;
@@ -1259,7 +1259,7 @@ ZEND_API void zend_ssa_compute_use_def_chains(zend_arena **arena, const zend_op_
1259
1259
}
1260
1260
/* }}} */
1261
1261
1262
- void zend_ssa_unlink_use_chain (zend_ssa * ssa , int op , int var ) /* {{{ */
1262
+ void zend_ssa_unlink_use_chain (const zend_ssa * ssa , int op , int var ) /* {{{ */
1263
1263
{
1264
1264
if (ssa -> vars [var ].use_chain == op ) {
1265
1265
ssa -> vars [var ].use_chain = zend_ssa_next_use (ssa -> ops , var , op );
@@ -1298,7 +1298,7 @@ void zend_ssa_unlink_use_chain(zend_ssa *ssa, int op, int var) /* {{{ */
1298
1298
}
1299
1299
/* }}} */
1300
1300
1301
- void zend_ssa_replace_use_chain (zend_ssa * ssa , int op , int new_op , int var ) /* {{{ */
1301
+ void zend_ssa_replace_use_chain (const zend_ssa * ssa , int op , int new_op , int var ) /* {{{ */
1302
1302
{
1303
1303
if (ssa -> vars [var ].use_chain == op ) {
1304
1304
ssa -> vars [var ].use_chain = new_op ;
@@ -1338,7 +1338,7 @@ void zend_ssa_replace_use_chain(zend_ssa *ssa, int op, int new_op, int var) /* {
1338
1338
}
1339
1339
/* }}} */
1340
1340
1341
- void zend_ssa_remove_instr (zend_ssa * ssa , zend_op * opline , zend_ssa_op * ssa_op ) /* {{{ */
1341
+ void zend_ssa_remove_instr (const zend_ssa * ssa , zend_op * opline , zend_ssa_op * ssa_op ) /* {{{ */
1342
1342
{
1343
1343
if (ssa_op -> result_use >= 0 ) {
1344
1344
zend_ssa_unlink_use_chain (ssa , ssa_op - ssa -> ops , ssa_op -> result_use );
@@ -1369,7 +1369,7 @@ void zend_ssa_remove_instr(zend_ssa *ssa, zend_op *opline, zend_ssa_op *ssa_op)
1369
1369
}
1370
1370
/* }}} */
1371
1371
1372
- static inline zend_ssa_phi * * zend_ssa_next_use_phi_ptr (zend_ssa * ssa , int var , zend_ssa_phi * p ) /* {{{ */
1372
+ static inline zend_ssa_phi * * zend_ssa_next_use_phi_ptr (const zend_ssa * ssa , int var , zend_ssa_phi * p ) /* {{{ */
1373
1373
{
1374
1374
if (p -> pi >= 0 ) {
1375
1375
return & p -> use_chains [0 ];
@@ -1388,7 +1388,7 @@ static inline zend_ssa_phi **zend_ssa_next_use_phi_ptr(zend_ssa *ssa, int var, z
1388
1388
1389
1389
/* May be called even if source is not used in the phi (useful when removing uses in a phi
1390
1390
* with multiple identical operands) */
1391
- static inline void zend_ssa_remove_use_of_phi_source (zend_ssa * ssa , zend_ssa_phi * phi , int source , zend_ssa_phi * next_use_phi ) /* {{{ */
1391
+ static inline void zend_ssa_remove_use_of_phi_source (const zend_ssa * ssa , const zend_ssa_phi * phi , int source , zend_ssa_phi * next_use_phi ) /* {{{ */
1392
1392
{
1393
1393
zend_ssa_phi * * cur = & ssa -> vars [source ].phi_use_chain ;
1394
1394
while (* cur && * cur != phi ) {
@@ -1400,7 +1400,7 @@ static inline void zend_ssa_remove_use_of_phi_source(zend_ssa *ssa, zend_ssa_phi
1400
1400
}
1401
1401
/* }}} */
1402
1402
1403
- static void zend_ssa_remove_uses_of_phi_sources (zend_ssa * ssa , zend_ssa_phi * phi ) /* {{{ */
1403
+ static void zend_ssa_remove_uses_of_phi_sources (const zend_ssa * ssa , zend_ssa_phi * phi ) /* {{{ */
1404
1404
{
1405
1405
int source ;
1406
1406
FOREACH_PHI_SOURCE (phi , source ) {
@@ -1409,7 +1409,7 @@ static void zend_ssa_remove_uses_of_phi_sources(zend_ssa *ssa, zend_ssa_phi *phi
1409
1409
}
1410
1410
/* }}} */
1411
1411
1412
- static void zend_ssa_remove_phi_from_block (zend_ssa * ssa , zend_ssa_phi * phi ) /* {{{ */
1412
+ static void zend_ssa_remove_phi_from_block (const zend_ssa * ssa , const zend_ssa_phi * phi ) /* {{{ */
1413
1413
{
1414
1414
zend_ssa_block * block = & ssa -> blocks [phi -> block ];
1415
1415
zend_ssa_phi * * cur = & block -> phis ;
@@ -1438,7 +1438,7 @@ void zend_ssa_remove_defs_of_instr(zend_ssa *ssa, zend_ssa_op *ssa_op) /* {{{ */
1438
1438
}
1439
1439
/* }}} */
1440
1440
1441
- static inline void zend_ssa_remove_phi_source (zend_ssa * ssa , zend_ssa_phi * phi , int pred_offset , int predecessors_count ) /* {{{ */
1441
+ static inline void zend_ssa_remove_phi_source (const zend_ssa * ssa , const zend_ssa_phi * phi , int pred_offset , int predecessors_count ) /* {{{ */
1442
1442
{
1443
1443
int j , var_num = phi -> sources [pred_offset ];
1444
1444
zend_ssa_phi * next_phi = phi -> use_chains [pred_offset ];
@@ -1467,7 +1467,7 @@ static inline void zend_ssa_remove_phi_source(zend_ssa *ssa, zend_ssa_phi *phi,
1467
1467
}
1468
1468
/* }}} */
1469
1469
1470
- void zend_ssa_remove_phi (zend_ssa * ssa , zend_ssa_phi * phi ) /* {{{ */
1470
+ void zend_ssa_remove_phi (const zend_ssa * ssa , zend_ssa_phi * phi ) /* {{{ */
1471
1471
{
1472
1472
ZEND_ASSERT (phi -> ssa_var >= 0 );
1473
1473
ZEND_ASSERT (ssa -> vars [phi -> ssa_var ].use_chain < 0
@@ -1479,7 +1479,7 @@ void zend_ssa_remove_phi(zend_ssa *ssa, zend_ssa_phi *phi) /* {{{ */
1479
1479
}
1480
1480
/* }}} */
1481
1481
1482
- void zend_ssa_remove_uses_of_var (zend_ssa * ssa , int var_num ) /* {{{ */
1482
+ void zend_ssa_remove_uses_of_var (const zend_ssa * ssa , int var_num ) /* {{{ */
1483
1483
{
1484
1484
zend_ssa_var * var = & ssa -> vars [var_num ];
1485
1485
zend_ssa_phi * phi ;
@@ -1515,7 +1515,7 @@ void zend_ssa_remove_uses_of_var(zend_ssa *ssa, int var_num) /* {{{ */
1515
1515
void zend_ssa_remove_predecessor (zend_ssa * ssa , int from , int to ) /* {{{ */
1516
1516
{
1517
1517
zend_basic_block * next_block = & ssa -> cfg .blocks [to ];
1518
- zend_ssa_block * next_ssa_block = & ssa -> blocks [to ];
1518
+ const zend_ssa_block * next_ssa_block = & ssa -> blocks [to ];
1519
1519
zend_ssa_phi * phi ;
1520
1520
int j ;
1521
1521
@@ -1558,10 +1558,10 @@ void zend_ssa_remove_predecessor(zend_ssa *ssa, int from, int to) /* {{{ */
1558
1558
}
1559
1559
/* }}} */
1560
1560
1561
- void zend_ssa_remove_block (zend_op_array * op_array , zend_ssa * ssa , int i ) /* {{{ */
1561
+ void zend_ssa_remove_block (const zend_op_array * op_array , zend_ssa * ssa , int i ) /* {{{ */
1562
1562
{
1563
1563
zend_basic_block * block = & ssa -> cfg .blocks [i ];
1564
- zend_ssa_block * ssa_block = & ssa -> blocks [i ];
1564
+ const zend_ssa_block * ssa_block = & ssa -> blocks [i ];
1565
1565
zend_ssa_phi * phi ;
1566
1566
int j ;
1567
1567
0 commit comments