@@ -858,7 +858,7 @@ static int zend_inference_calc_binary_op_range(
858
858
return 0 ;
859
859
}
860
860
861
- int zend_inference_calc_range (const zend_op_array * op_array , zend_ssa * ssa , int var , int widening , int narrowing , zend_ssa_range * tmp )
861
+ static int zend_inference_calc_range (const zend_op_array * op_array , zend_ssa * ssa , int var , int widening , int narrowing , zend_ssa_range * tmp )
862
862
{
863
863
uint32_t line ;
864
864
zend_op * opline ;
@@ -1549,7 +1549,7 @@ ZEND_API int zend_inference_propagate_range(const zend_op_array *op_array, zend_
1549
1549
return 0 ;
1550
1550
}
1551
1551
1552
- void zend_inference_init_range (const zend_op_array * op_array , zend_ssa * ssa , int var , bool underflow , zend_long min , zend_long max , bool overflow )
1552
+ static void zend_inference_init_range (const zend_op_array * op_array , zend_ssa * ssa , int var , bool underflow , zend_long min , zend_long max , bool overflow )
1553
1553
{
1554
1554
if (underflow ) {
1555
1555
min = ZEND_LONG_MIN ;
@@ -1565,7 +1565,7 @@ void zend_inference_init_range(const zend_op_array *op_array, zend_ssa *ssa, int
1565
1565
LOG_SSA_RANGE (" change range (init SCC %2d) %2d [%s%ld..%ld%s]\n" , ssa -> vars [var ].scc , var , (underflow ?"-- " :"" ), min , max , (overflow ?" ++" :"" ));
1566
1566
}
1567
1567
1568
- int zend_inference_widening_meet (zend_ssa_var_info * var_info , zend_ssa_range * r )
1568
+ static int zend_inference_widening_meet (zend_ssa_var_info * var_info , zend_ssa_range * r )
1569
1569
{
1570
1570
if (!var_info -> has_range ) {
1571
1571
var_info -> has_range = 1 ;
@@ -1606,7 +1606,7 @@ static int zend_ssa_range_widening(const zend_op_array *op_array, zend_ssa *ssa,
1606
1606
return 0 ;
1607
1607
}
1608
1608
1609
- int zend_inference_narrowing_meet (zend_ssa_var_info * var_info , zend_ssa_range * r )
1609
+ static int zend_inference_narrowing_meet (zend_ssa_var_info * var_info , zend_ssa_range * r )
1610
1610
{
1611
1611
if (!var_info -> has_range ) {
1612
1612
var_info -> has_range = 1 ;
@@ -3728,7 +3728,7 @@ static zend_class_entry *join_class_entries(
3728
3728
return ce1 ;
3729
3729
}
3730
3730
3731
- int zend_infer_types_ex (const zend_op_array * op_array , const zend_script * script , zend_ssa * ssa , zend_bitset worklist , zend_long optimization_level )
3731
+ static int zend_infer_types_ex (const zend_op_array * op_array , const zend_script * script , zend_ssa * ssa , zend_bitset worklist , zend_long optimization_level )
3732
3732
{
3733
3733
zend_basic_block * blocks = ssa -> cfg .blocks ;
3734
3734
zend_ssa_var * ssa_vars = ssa -> vars ;
@@ -4091,11 +4091,11 @@ ZEND_API void zend_init_func_return_info(
4091
4091
ret -> has_range = 0 ;
4092
4092
}
4093
4093
4094
- void zend_func_return_info (const zend_op_array * op_array ,
4095
- const zend_script * script ,
4096
- int recursive ,
4097
- int widening ,
4098
- zend_ssa_var_info * ret )
4094
+ static void zend_func_return_info (const zend_op_array * op_array ,
4095
+ const zend_script * script ,
4096
+ int recursive ,
4097
+ int widening ,
4098
+ zend_ssa_var_info * ret )
4099
4099
{
4100
4100
zend_func_info * info = ZEND_FUNC_INFO (op_array );
4101
4101
zend_ssa * ssa = & info -> ssa ;
@@ -4507,37 +4507,6 @@ ZEND_API int zend_ssa_inference(zend_arena **arena, const zend_op_array *op_arra
4507
4507
}
4508
4508
/* }}} */
4509
4509
4510
- void zend_inference_check_recursive_dependencies (zend_op_array * op_array )
4511
- {
4512
- zend_func_info * info = ZEND_FUNC_INFO (op_array );
4513
- zend_call_info * call_info ;
4514
- zend_bitset worklist ;
4515
- int worklist_len , i ;
4516
- ALLOCA_FLAG (use_heap );
4517
-
4518
- if (!info -> ssa .var_info || !(info -> flags & ZEND_FUNC_RECURSIVE )) {
4519
- return ;
4520
- }
4521
- worklist_len = zend_bitset_len (info -> ssa .vars_count );
4522
- worklist = do_alloca (sizeof (zend_ulong ) * worklist_len , use_heap );
4523
- memset (worklist , 0 , sizeof (zend_ulong ) * worklist_len );
4524
- call_info = info -> callee_info ;
4525
- while (call_info ) {
4526
- if (call_info -> recursive && call_info -> caller_call_opline &&
4527
- info -> ssa .ops [call_info -> caller_call_opline - op_array -> opcodes ].result_def >= 0 ) {
4528
- zend_bitset_incl (worklist , info -> ssa .ops [call_info -> caller_call_opline - op_array -> opcodes ].result_def );
4529
- }
4530
- call_info = call_info -> next_callee ;
4531
- }
4532
- WHILE_WORKLIST (worklist , worklist_len , i ) {
4533
- if (!info -> ssa .var_info [i ].recursive ) {
4534
- info -> ssa .var_info [i ].recursive = 1 ;
4535
- add_usages (op_array , & info -> ssa , worklist , i );
4536
- }
4537
- } WHILE_WORKLIST_END ();
4538
- free_alloca (worklist , use_heap );
4539
- }
4540
-
4541
4510
ZEND_API int zend_may_throw_ex (const zend_op * opline , const zend_ssa_op * ssa_op , const zend_op_array * op_array , zend_ssa * ssa , uint32_t t1 , uint32_t t2 )
4542
4511
{
4543
4512
if (opline -> op1_type == IS_CV ) {
0 commit comments