Lines Matching refs:call_graph

32 typedef int (*zend_op_array_func_t)(zend_call_graph *call_graph, zend_op_array *op_array);
34 static int zend_op_array_calc(zend_call_graph *call_graph, zend_op_array *op_array) in zend_op_array_calc() argument
38 call_graph->op_arrays_count++; in zend_op_array_calc()
42 static int zend_op_array_collect(zend_call_graph *call_graph, zend_op_array *op_array) in zend_op_array_collect() argument
44 zend_func_info *func_info = call_graph->func_infos + call_graph->op_arrays_count; in zend_op_array_collect()
47 call_graph->op_arrays[call_graph->op_arrays_count] = op_array; in zend_op_array_collect()
48 func_info->num = call_graph->op_arrays_count; in zend_op_array_collect()
51 call_graph->op_arrays_count++; in zend_op_array_collect()
55 static int zend_foreach_op_array(zend_call_graph *call_graph, zend_script *script, zend_op_array_fu… in zend_foreach_op_array() argument
60 if (func(call_graph, &script->main_op_array) != SUCCESS) { in zend_foreach_op_array()
65 if (func(call_graph, op_array) != SUCCESS) { in zend_foreach_op_array()
73 if (func(call_graph, op_array) != SUCCESS) { in zend_foreach_op_array()
208 static void zend_analyze_recursion(zend_call_graph *call_graph) in zend_analyze_recursion() argument
214 int set_len = zend_bitset_len(call_graph->op_arrays_count); in zend_analyze_recursion()
219 for (i = 0; i < call_graph->op_arrays_count; i++) { in zend_analyze_recursion()
220 op_array = call_graph->op_arrays[i]; in zend_analyze_recursion()
221 func_info = call_graph->func_infos + i; in zend_analyze_recursion()
241 static void zend_sort_op_arrays(zend_call_graph *call_graph) in zend_sort_op_arrays() argument
243 (void) call_graph; in zend_sort_op_arrays()
248 …nd_arena **arena, zend_script *script, uint32_t build_flags, zend_call_graph *call_graph) /* {{{ */ in zend_build_call_graph() argument
252 call_graph->op_arrays_count = 0; in zend_build_call_graph()
253 if (zend_foreach_op_array(call_graph, script, zend_op_array_calc) != SUCCESS) { in zend_build_call_graph()
256call_graph->op_arrays = (zend_op_array**)zend_arena_calloc(arena, call_graph->op_arrays_count, siz… in zend_build_call_graph()
257call_graph->func_infos = (zend_func_info*)zend_arena_calloc(arena, call_graph->op_arrays_count, si… in zend_build_call_graph()
258 call_graph->op_arrays_count = 0; in zend_build_call_graph()
259 if (zend_foreach_op_array(call_graph, script, zend_op_array_collect) != SUCCESS) { in zend_build_call_graph()
262 for (i = 0; i < call_graph->op_arrays_count; i++) { in zend_build_call_graph()
263 …zend_analyze_calls(arena, script, build_flags, call_graph->op_arrays[i], call_graph->func_infos + … in zend_build_call_graph()
265 zend_analyze_recursion(call_graph); in zend_build_call_graph()
266 zend_sort_op_arrays(call_graph); in zend_build_call_graph()