Voidify zend_build_call_graph()

It always returned SUCCESS
This commit is contained in:
George Peter Banyard 2021-09-20 16:31:19 +01:00
parent fea9b5cf1d
commit 278efe3b64
4 changed files with 8 additions and 11 deletions

View file

@ -222,7 +222,7 @@ static void zend_sort_op_arrays(zend_call_graph *call_graph)
// TODO: perform topological sort of cyclic call graph // TODO: perform topological sort of cyclic call graph
} }
ZEND_API int zend_build_call_graph(zend_arena **arena, zend_script *script, zend_call_graph *call_graph) /* {{{ */ ZEND_API void zend_build_call_graph(zend_arena **arena, zend_script *script, zend_call_graph *call_graph) /* {{{ */
{ {
call_graph->op_arrays_count = 0; call_graph->op_arrays_count = 0;
zend_foreach_op_array(script, zend_op_array_calc, call_graph); zend_foreach_op_array(script, zend_op_array_calc, call_graph);
@ -231,8 +231,6 @@ ZEND_API int zend_build_call_graph(zend_arena **arena, zend_script *script, zend
call_graph->func_infos = (zend_func_info*)zend_arena_calloc(arena, call_graph->op_arrays_count, sizeof(zend_func_info)); call_graph->func_infos = (zend_func_info*)zend_arena_calloc(arena, call_graph->op_arrays_count, sizeof(zend_func_info));
call_graph->op_arrays_count = 0; call_graph->op_arrays_count = 0;
zend_foreach_op_array(script, zend_op_array_collect, call_graph); zend_foreach_op_array(script, zend_op_array_collect, call_graph);
return SUCCESS;
} }
/* }}} */ /* }}} */

View file

@ -60,7 +60,7 @@ typedef struct _zend_call_graph {
BEGIN_EXTERN_C() BEGIN_EXTERN_C()
ZEND_API int zend_build_call_graph(zend_arena **arena, zend_script *script, zend_call_graph *call_graph); ZEND_API void zend_build_call_graph(zend_arena **arena, zend_script *script, zend_call_graph *call_graph);
ZEND_API void zend_analyze_call_graph(zend_arena **arena, zend_script *script, zend_call_graph *call_graph); ZEND_API void zend_analyze_call_graph(zend_arena **arena, zend_script *script, zend_call_graph *call_graph);
ZEND_API zend_call_info **zend_build_call_map(zend_arena **arena, zend_func_info *info, const zend_op_array *op_array); ZEND_API zend_call_info **zend_build_call_map(zend_arena **arena, zend_func_info *info, const zend_op_array *op_array);
ZEND_API int zend_analyze_calls(zend_arena **arena, zend_script *script, uint32_t build_flags, zend_op_array *op_array, zend_func_info *func_info); ZEND_API int zend_analyze_calls(zend_arena **arena, zend_script *script, uint32_t build_flags, zend_op_array *op_array, zend_func_info *func_info);

View file

@ -1431,7 +1431,6 @@ ZEND_API int zend_optimize_script(zend_script *script, zend_long optimization_le
zend_op_array *op_array; zend_op_array *op_array;
zend_string *name; zend_string *name;
zend_optimizer_ctx ctx; zend_optimizer_ctx ctx;
zend_call_graph call_graph;
ctx.arena = zend_arena_create(64 * 1024); ctx.arena = zend_arena_create(64 * 1024);
ctx.script = script; ctx.script = script;
@ -1440,9 +1439,11 @@ ZEND_API int zend_optimize_script(zend_script *script, zend_long optimization_le
ctx.debug_level = debug_level; ctx.debug_level = debug_level;
if ((ZEND_OPTIMIZER_PASS_6 & optimization_level) && if ((ZEND_OPTIMIZER_PASS_6 & optimization_level) &&
(ZEND_OPTIMIZER_PASS_7 & optimization_level) && (ZEND_OPTIMIZER_PASS_7 & optimization_level)) {
zend_build_call_graph(&ctx.arena, script, &call_graph) == SUCCESS) {
/* Optimize using call-graph */ /* Optimize using call-graph */
zend_call_graph call_graph;
zend_build_call_graph(&ctx.arena, script, &call_graph);
int i; int i;
zend_func_info *func_info; zend_func_info *func_info;

View file

@ -4492,9 +4492,7 @@ ZEND_EXT_API int zend_jit_script(zend_script *script)
checkpoint = zend_arena_checkpoint(CG(arena)); checkpoint = zend_arena_checkpoint(CG(arena));
call_graph.op_arrays_count = 0; call_graph.op_arrays_count = 0;
if (zend_build_call_graph(&CG(arena), script, &call_graph) != SUCCESS) { zend_build_call_graph(&CG(arena), script, &call_graph);
goto jit_failure;
}
zend_analyze_call_graph(&CG(arena), script, &call_graph); zend_analyze_call_graph(&CG(arena), script, &call_graph);