@@ -99,10 +99,10 @@ static const void *zend_jit_profile_jit_handler = NULL;
99
99
static const void * zend_jit_func_counter_handler = NULL ;
100
100
static const void * zend_jit_loop_counter_handler = NULL ;
101
101
102
- static int zend_may_overflow (const zend_op * opline , zend_op_array * op_array , zend_ssa * ssa );
102
+ static int zend_may_overflow (const zend_op * opline , const zend_op_array * op_array , zend_ssa * ssa );
103
103
static void ZEND_FASTCALL zend_runtime_jit (void );
104
104
105
- static zend_bool zend_ssa_is_last_use (zend_op_array * op_array , const zend_ssa * ssa , int var , int use )
105
+ static zend_bool zend_ssa_is_last_use (const zend_op_array * op_array , const zend_ssa * ssa , int var , int use )
106
106
{
107
107
if (ssa -> vars [var ].phi_use_chain ) {
108
108
zend_ssa_phi * phi = ssa -> vars [var ].phi_use_chain ;
@@ -175,7 +175,7 @@ ZEND_EXT_API void zend_jit_status(zval *ret)
175
175
add_assoc_zval (ret , "jit" , & stats );
176
176
}
177
177
178
- static zend_string * zend_jit_func_name (zend_op_array * op_array )
178
+ static zend_string * zend_jit_func_name (const zend_op_array * op_array )
179
179
{
180
180
smart_str buf = {0 };
181
181
@@ -204,7 +204,7 @@ static zend_string *zend_jit_func_name(zend_op_array *op_array)
204
204
}
205
205
206
206
static void * dasm_link_and_encode (dasm_State * * dasm_state ,
207
- zend_op_array * op_array ,
207
+ const zend_op_array * op_array ,
208
208
zend_ssa * ssa ,
209
209
const zend_op * rt_opline ,
210
210
zend_lifetime_interval * * ra ,
@@ -399,7 +399,7 @@ static void *dasm_link_and_encode(dasm_State **dasm_state,
399
399
return entry ;
400
400
}
401
401
402
- static int zend_may_overflow (const zend_op * opline , zend_op_array * op_array , zend_ssa * ssa )
402
+ static int zend_may_overflow (const zend_op * opline , const zend_op_array * op_array , zend_ssa * ssa )
403
403
{
404
404
uint32_t num ;
405
405
int res ;
@@ -571,7 +571,7 @@ static int zend_may_overflow(const zend_op *opline, zend_op_array *op_array, zen
571
571
}
572
572
}
573
573
574
- static int zend_jit_build_cfg (zend_op_array * op_array , zend_cfg * cfg )
574
+ static int zend_jit_build_cfg (const zend_op_array * op_array , zend_cfg * cfg )
575
575
{
576
576
uint32_t flags ;
577
577
@@ -605,7 +605,7 @@ static int zend_jit_build_cfg(zend_op_array *op_array, zend_cfg *cfg)
605
605
return SUCCESS ;
606
606
}
607
607
608
- static int zend_jit_op_array_analyze1 (zend_op_array * op_array , zend_script * script , zend_ssa * ssa )
608
+ static int zend_jit_op_array_analyze1 (const zend_op_array * op_array , zend_script * script , zend_ssa * ssa )
609
609
{
610
610
if (zend_jit_build_cfg (op_array , & ssa -> cfg ) != SUCCESS ) {
611
611
return FAILURE ;
@@ -643,7 +643,7 @@ static int zend_jit_op_array_analyze1(zend_op_array *op_array, zend_script *scri
643
643
return SUCCESS ;
644
644
}
645
645
646
- static int zend_jit_op_array_analyze2 (zend_op_array * op_array , zend_script * script , zend_ssa * ssa )
646
+ static int zend_jit_op_array_analyze2 (const zend_op_array * op_array , zend_script * script , zend_ssa * ssa )
647
647
{
648
648
if ((zend_jit_level >= ZEND_JIT_LEVEL_OPT_FUNC )
649
649
&& ssa -> cfg .blocks
@@ -993,7 +993,7 @@ static void zend_jit_add_hint(zend_lifetime_interval **intervals, int dst, int s
993
993
994
994
/* See "Linear Scan Register Allocation on SSA Form", Christian Wimmer and
995
995
Michael Franz, CGO'10 (2010), Figure 4. */
996
- static int zend_jit_compute_liveness (zend_op_array * op_array , zend_ssa * ssa , zend_bitset candidates , zend_lifetime_interval * * list )
996
+ static int zend_jit_compute_liveness (const zend_op_array * op_array , zend_ssa * ssa , zend_bitset candidates , zend_lifetime_interval * * list )
997
997
{
998
998
int set_size , i , j , k , l ;
999
999
uint32_t n ;
@@ -1338,7 +1338,7 @@ static uint32_t zend_interval_intersection(zend_lifetime_interval *ival1, zend_l
1338
1338
1339
1339
/* See "Optimized Interval Splitting in a Linear Scan Register Allocator",
1340
1340
Christian Wimmer VEE'05 (2005), Figure 4. Allocation without spilling */
1341
- static int zend_jit_try_allocate_free_reg (zend_op_array * op_array , zend_ssa * ssa , zend_lifetime_interval * current , zend_regset available , zend_regset * hints , zend_lifetime_interval * active , zend_lifetime_interval * inactive , zend_lifetime_interval * * list , zend_lifetime_interval * * free )
1341
+ static int zend_jit_try_allocate_free_reg (const zend_op_array * op_array , zend_ssa * ssa , zend_lifetime_interval * current , zend_regset available , zend_regset * hints , zend_lifetime_interval * active , zend_lifetime_interval * inactive , zend_lifetime_interval * * list , zend_lifetime_interval * * free )
1342
1342
{
1343
1343
zend_lifetime_interval * it ;
1344
1344
uint32_t freeUntilPos [ZREG_NUM ];
@@ -1557,7 +1557,7 @@ static int zend_jit_allocate_blocked_reg(void)
1557
1557
1558
1558
/* See "Optimized Interval Splitting in a Linear Scan Register Allocator",
1559
1559
Christian Wimmer VEE'10 (2005), Figure 2. */
1560
- static zend_lifetime_interval * zend_jit_linear_scan (zend_op_array * op_array , zend_ssa * ssa , zend_lifetime_interval * list )
1560
+ static zend_lifetime_interval * zend_jit_linear_scan (const zend_op_array * op_array , zend_ssa * ssa , zend_lifetime_interval * list )
1561
1561
{
1562
1562
zend_lifetime_interval * unhandled , * active , * inactive , * handled , * free ;
1563
1563
zend_lifetime_interval * current , * * p , * q ;
@@ -1646,7 +1646,7 @@ static zend_lifetime_interval* zend_jit_linear_scan(zend_op_array *op_array, zen
1646
1646
return handled ;
1647
1647
}
1648
1648
1649
- static zend_lifetime_interval * * zend_jit_allocate_registers (zend_op_array * op_array , zend_ssa * ssa )
1649
+ static zend_lifetime_interval * * zend_jit_allocate_registers (const zend_op_array * op_array , zend_ssa * ssa )
1650
1650
{
1651
1651
void * checkpoint ;
1652
1652
int set_size , candidates_count , i ;
@@ -1899,7 +1899,7 @@ static zend_lifetime_interval** zend_jit_allocate_registers(zend_op_array *op_ar
1899
1899
return NULL ;
1900
1900
}
1901
1901
1902
- static void zend_calc_checked_this_r (zend_bitset checked_this , zend_op_array * op_array , zend_cfg * cfg , int b , int checked )
1902
+ static void zend_calc_checked_this_r (zend_bitset checked_this , const zend_op_array * op_array , zend_cfg * cfg , int b , int checked )
1903
1903
{
1904
1904
zend_op * opline = & op_array -> opcodes [cfg -> blocks [b ].start ];
1905
1905
zend_op * end = opline + cfg -> blocks [b ].len ;
@@ -1949,7 +1949,7 @@ static void zend_calc_checked_this_r(zend_bitset checked_this, zend_op_array *op
1949
1949
}
1950
1950
}
1951
1951
1952
- static zend_bitset zend_calc_checked_this (zend_arena * * arena , zend_op_array * op_array , zend_cfg * cfg )
1952
+ static zend_bitset zend_calc_checked_this (zend_arena * * arena , const zend_op_array * op_array , zend_cfg * cfg )
1953
1953
{
1954
1954
uint32_t bitset_len = zend_bitset_len (op_array -> last );
1955
1955
zend_bitset checked_this = zend_arena_calloc (arena , bitset_len , ZEND_BITSET_ELM_SIZE );
@@ -1959,7 +1959,7 @@ static zend_bitset zend_calc_checked_this(zend_arena **arena, zend_op_array *op_
1959
1959
return checked_this ;
1960
1960
}
1961
1961
1962
- static int zend_jit (zend_op_array * op_array , zend_ssa * ssa , const zend_op * rt_opline )
1962
+ static int zend_jit (const zend_op_array * op_array , zend_ssa * ssa , const zend_op * rt_opline )
1963
1963
{
1964
1964
int b , i , end ;
1965
1965
zend_op * opline ;
@@ -3225,7 +3225,7 @@ ZEND_EXT_API void zend_jit_deactivate(void)
3225
3225
3226
3226
#else /* HAVE_JIT */
3227
3227
3228
- ZEND_EXT_API int zend_jit_op_array (zend_op_array * op_array , zend_script * script )
3228
+ ZEND_EXT_API int zend_jit_op_array (const zend_op_array * op_array , zend_script * script )
3229
3229
{
3230
3230
return FAILURE ;
3231
3231
}
0 commit comments