Lines Matching refs:op_array

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
36 (void) op_array; 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
46 ZEND_SET_FUNC_INFO(op_array, func_info); in zend_op_array_collect()
47 call_graph->op_arrays[call_graph->op_arrays_count] = op_array; in zend_op_array_collect()
58 zend_op_array *op_array; in zend_foreach_op_array() local
64 ZEND_HASH_FOREACH_PTR(&script->function_table, op_array) { in zend_foreach_op_array()
65 if (func(call_graph, op_array) != SUCCESS) { in zend_foreach_op_array()
71 ZEND_HASH_FOREACH_PTR(&ce->function_table, op_array) { in zend_foreach_op_array()
72 if (op_array->scope == ce) { in zend_foreach_op_array()
73 if (func(call_graph, op_array) != SUCCESS) { in zend_foreach_op_array()
83 …rena **arena, zend_script *script, uint32_t build_flags, zend_op_array *op_array, zend_func_info *… in zend_analyze_calls() argument
85 zend_op *opline = op_array->opcodes; in zend_analyze_calls()
86 zend_op *end = opline + op_array->last; in zend_analyze_calls()
93 call_stack = do_alloca((op_array->last / 2) * sizeof(zend_call_info*), use_heap); in zend_analyze_calls()
102 script, op_array, opline, (build_flags & ZEND_RT_CONSTANTS) != 0); in zend_analyze_calls()
105 call_info->caller_op_array = op_array; in zend_analyze_calls()
118 zend_func_info *callee_func_info = ZEND_FUNC_INFO(&func->op_array); in zend_analyze_calls()
179 static int zend_is_indirectly_recursive(zend_op_array *root, zend_op_array *op_array, zend_bitset v… in zend_is_indirectly_recursive() argument
185 if (op_array == root) { in zend_is_indirectly_recursive()
189 func_info = ZEND_FUNC_INFO(op_array); in zend_is_indirectly_recursive()
207 zend_op_array *op_array; in zend_analyze_recursion() local
217 op_array = call_graph->op_arrays[i]; in zend_analyze_recursion()
221 if (call_info->caller_op_array == op_array) { in zend_analyze_recursion()
226 if (zend_is_indirectly_recursive(op_array, call_info->caller_op_array, visited)) { in zend_analyze_recursion()
269 … **zend_build_call_map(zend_arena **arena, zend_func_info *info, zend_op_array *op_array) /* {{{ */ in zend_build_call_map() argument
277 map = zend_arena_calloc(arena, sizeof(zend_call_info *), op_array->last); in zend_build_call_map()
280 map[call->caller_init_opline - op_array->opcodes] = call; in zend_build_call_map()
281 map[call->caller_call_opline - op_array->opcodes] = call; in zend_build_call_map()
284 map[call->arg_info[i].opline - op_array->opcodes] = call; in zend_build_call_map()