Lines Matching refs:op_array

30 typedef int (*zend_op_array_func_t)(zend_call_graph *call_graph, zend_op_array *op_array);
32 static int zend_op_array_calc(zend_call_graph *call_graph, zend_op_array *op_array) in zend_op_array_calc() argument
34 (void) op_array; in zend_op_array_calc()
40 static int zend_op_array_collect(zend_call_graph *call_graph, zend_op_array *op_array) in zend_op_array_collect() argument
44 ZEND_SET_FUNC_INFO(op_array, func_info); in zend_op_array_collect()
45 call_graph->op_arrays[call_graph->op_arrays_count] = op_array; in zend_op_array_collect()
57 zend_op_array *op_array; in zend_foreach_op_array() local
63 ZEND_HASH_FOREACH_PTR(&script->function_table, op_array) { in zend_foreach_op_array()
64 if (func(call_graph, op_array) != SUCCESS) { in zend_foreach_op_array()
73 ZEND_HASH_FOREACH_PTR(&ce->function_table, op_array) { in zend_foreach_op_array()
74 if (op_array->scope == ce in zend_foreach_op_array()
75 && op_array->type == ZEND_USER_FUNCTION in zend_foreach_op_array()
76 && !(op_array->fn_flags & ZEND_ACC_TRAIT_CLONE)) { in zend_foreach_op_array()
77 if (func(call_graph, op_array) != SUCCESS) { in zend_foreach_op_array()
87 …rena **arena, zend_script *script, uint32_t build_flags, zend_op_array *op_array, zend_func_info *… in zend_analyze_calls() argument
89 zend_op *opline = op_array->opcodes; in zend_analyze_calls()
90 zend_op *end = opline + op_array->last; in zend_analyze_calls()
97 call_stack = do_alloca((op_array->last / 2) * sizeof(zend_call_info*), use_heap); in zend_analyze_calls()
106 script, op_array, opline, (build_flags & ZEND_RT_CONSTANTS) != 0); in zend_analyze_calls()
109 call_info->caller_op_array = op_array; in zend_analyze_calls()
122 zend_func_info *callee_func_info = ZEND_FUNC_INFO(&func->op_array); in zend_analyze_calls()
191 static int zend_is_indirectly_recursive(zend_op_array *root, zend_op_array *op_array, zend_bitset v… in zend_is_indirectly_recursive() argument
197 if (op_array == root) { in zend_is_indirectly_recursive()
201 func_info = ZEND_FUNC_INFO(op_array); in zend_is_indirectly_recursive()
219 zend_op_array *op_array; in zend_analyze_recursion() local
229 op_array = call_graph->op_arrays[i]; in zend_analyze_recursion()
233 if (call_info->caller_op_array == op_array) { in zend_analyze_recursion()
238 if (zend_is_indirectly_recursive(op_array, call_info->caller_op_array, visited)) { in zend_analyze_recursion()
281 … **zend_build_call_map(zend_arena **arena, zend_func_info *info, zend_op_array *op_array) /* {{{ */ in zend_build_call_map() argument
289 map = zend_arena_calloc(arena, sizeof(zend_call_info *), op_array->last); in zend_build_call_map()
292 map[call->caller_init_opline - op_array->opcodes] = call; in zend_build_call_map()
294 map[call->caller_call_opline - op_array->opcodes] = call; in zend_build_call_map()
298 map[call->arg_info[i].opline - op_array->opcodes] = call; in zend_build_call_map()