@@ -71,11 +71,10 @@ static zend_always_inline void union_find_unite(int *parent, int *size, int i, i
7171}
7272/* }}} */
7373
74- static zend_result zend_build_equi_escape_sets (int * parent , zend_op_array * op_array , zend_ssa * ssa ) /* {{{ */
74+ static zend_result zend_build_equi_escape_sets (int * parent , const zend_op_array * op_array , const zend_ssa * ssa ) /* {{{ */
7575{
7676 zend_ssa_var * ssa_vars = ssa -> vars ;
7777 int ssa_vars_count = ssa -> vars_count ;
78- zend_ssa_phi * p ;
7978 int i ;
8079 int * size ;
8180 ALLOCA_FLAG (use_heap )
@@ -88,7 +87,7 @@ static zend_result zend_build_equi_escape_sets(int *parent, zend_op_array *op_ar
8887
8988 for (i = 0 ; i < ssa_vars_count ; i ++ ) {
9089 if (ssa_vars [i ].definition_phi ) {
91- p = ssa_vars [i ].definition_phi ;
90+ const zend_ssa_phi * p = ssa_vars [i ].definition_phi ;
9291 if (p -> pi >= 0 ) {
9392 union_find_unite (parent , size , i , p -> sources [0 ]);
9493 } else {
@@ -98,8 +97,8 @@ static zend_result zend_build_equi_escape_sets(int *parent, zend_op_array *op_ar
9897 }
9998 } else if (ssa_vars [i ].definition >= 0 ) {
10099 int def = ssa_vars [i ].definition ;
101- zend_ssa_op * op = ssa -> ops + def ;
102- zend_op * opline = op_array -> opcodes + def ;
100+ const zend_ssa_op * op = ssa -> ops + def ;
101+ const zend_op * opline = op_array -> opcodes + def ;
103102
104103 if (op -> op1_def >= 0 ) {
105104 if (op -> op1_use >= 0 ) {
@@ -145,9 +144,9 @@ static zend_result zend_build_equi_escape_sets(int *parent, zend_op_array *op_ar
145144}
146145/* }}} */
147146
148- static bool is_allocation_def (zend_op_array * op_array , zend_ssa * ssa , int def , int var , const zend_script * script ) /* {{{ */
147+ static bool is_allocation_def (const zend_op_array * op_array , const zend_ssa * ssa , int def , int var , const zend_script * script ) /* {{{ */
149148{
150- zend_ssa_op * ssa_op = ssa -> ops + def ;
149+ const zend_ssa_op * ssa_op = ssa -> ops + def ;
151150 zend_op * opline = op_array -> opcodes + def ;
152151
153152 if (ssa_op -> result_def == var ) {
@@ -156,7 +155,7 @@ static bool is_allocation_def(zend_op_array *op_array, zend_ssa *ssa, int def, i
156155 return true;
157156 case ZEND_NEW : {
158157 /* objects with destructors should escape */
159- zend_class_entry * ce = zend_optimizer_get_class_entry_from_op1 (
158+ const zend_class_entry * ce = zend_optimizer_get_class_entry_from_op1 (
160159 script , op_array , opline );
161160 uint32_t forbidden_flags =
162161 /* These flags will always cause an exception */
@@ -216,10 +215,10 @@ static bool is_allocation_def(zend_op_array *op_array, zend_ssa *ssa, int def, i
216215}
217216/* }}} */
218217
219- static bool is_local_def (zend_op_array * op_array , zend_ssa * ssa , int def , int var , const zend_script * script ) /* {{{ */
218+ static bool is_local_def (const zend_op_array * op_array , const zend_ssa * ssa , int def , int var , const zend_script * script ) /* {{{ */
220219{
221- zend_ssa_op * op = ssa -> ops + def ;
222- zend_op * opline = op_array -> opcodes + def ;
220+ const zend_ssa_op * op = ssa -> ops + def ;
221+ const zend_op * opline = op_array -> opcodes + def ;
223222
224223 if (op -> result_def == var ) {
225224 switch (opline -> opcode ) {
@@ -230,7 +229,7 @@ static bool is_local_def(zend_op_array *op_array, zend_ssa *ssa, int def, int va
230229 return true;
231230 case ZEND_NEW : {
232231 /* objects with destructors should escape */
233- zend_class_entry * ce = zend_optimizer_get_class_entry_from_op1 (
232+ const zend_class_entry * ce = zend_optimizer_get_class_entry_from_op1 (
234233 script , op_array , opline );
235234 if (ce
236235 && !ce -> create_object
@@ -266,10 +265,10 @@ static bool is_local_def(zend_op_array *op_array, zend_ssa *ssa, int def, int va
266265}
267266/* }}} */
268267
269- static bool is_escape_use (zend_op_array * op_array , zend_ssa * ssa , int use , int var ) /* {{{ */
268+ static bool is_escape_use (const zend_op_array * op_array , const zend_ssa * ssa , int use , int var ) /* {{{ */
270269{
271- zend_ssa_op * ssa_op = ssa -> ops + use ;
272- zend_op * opline = op_array -> opcodes + use ;
270+ const zend_ssa_op * ssa_op = ssa -> ops + use ;
271+ const zend_op * opline = op_array -> opcodes + use ;
273272
274273 if (ssa_op -> op1_use == var ) {
275274 switch (opline -> opcode ) {
@@ -377,7 +376,7 @@ static bool is_escape_use(zend_op_array *op_array, zend_ssa *ssa, int use, int v
377376}
378377/* }}} */
379378
380- zend_result zend_ssa_escape_analysis (const zend_script * script , zend_op_array * op_array , zend_ssa * ssa ) /* {{{ */
379+ zend_result zend_ssa_escape_analysis (const zend_script * script , const zend_op_array * op_array , const zend_ssa * ssa ) /* {{{ */
381380{
382381 zend_ssa_var * ssa_vars = ssa -> vars ;
383382 int ssa_vars_count = ssa -> vars_count ;
@@ -474,8 +473,8 @@ zend_result zend_ssa_escape_analysis(const zend_script *script, zend_op_array *o
474473 root = ees [i ];
475474 if (ssa_vars [root ].escape_state == ESCAPE_STATE_NO_ESCAPE ) {
476475 FOREACH_USE (ssa_vars + i , use ) {
477- zend_ssa_op * op = ssa -> ops + use ;
478- zend_op * opline = op_array -> opcodes + use ;
476+ const zend_ssa_op * op = ssa -> ops + use ;
477+ const zend_op * opline = op_array -> opcodes + use ;
479478 int enclosing_root ;
480479
481480 if (opline -> opcode == ZEND_OP_DATA &&
0 commit comments