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
}
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;
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->op_arrays_count = 0;
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()
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 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);

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_string *name;
zend_optimizer_ctx ctx;
zend_call_graph call_graph;
ctx.arena = zend_arena_create(64 * 1024);
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;
if ((ZEND_OPTIMIZER_PASS_6 & optimization_level) &&
(ZEND_OPTIMIZER_PASS_7 & optimization_level) &&
zend_build_call_graph(&ctx.arena, script, &call_graph) == SUCCESS) {
(ZEND_OPTIMIZER_PASS_7 & optimization_level)) {
/* Optimize using call-graph */
zend_call_graph call_graph;
zend_build_call_graph(&ctx.arena, script, &call_graph);
int i;
zend_func_info *func_info;
@ -1585,7 +1586,7 @@ ZEND_API int zend_optimizer_register_pass(zend_optimizer_pass_t pass)
}
if (zend_optimizer_registered_passes.last == ZEND_OPTIMIZER_MAX_REGISTERED_PASSES) {
return -1;
return -1;
}
zend_optimizer_registered_passes.pass[

View file

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