ZEND_SET_FUNC_INFO(op_array, func_info);
call_graph->op_arrays[call_graph->op_arrays_count] = op_array;
func_info->num = call_graph->op_arrays_count;
- func_info->num_args = -1;
- func_info->return_value_used = -1;
call_graph->op_arrays_count++;
}
zend_function *callee_func;
zend_call_info *next_caller;
zend_call_info *next_callee;
- zend_func_info *clone;
zend_bool recursive;
zend_bool send_unpack; /* Parameters passed by SEND_UNPACK or SEND_ARRAY */
int num_args;
zend_call_info *caller_info; /* where this function is called from */
zend_call_info *callee_info; /* which functions are called from this one */
zend_call_info **call_map; /* Call info associated with init/call/send opnum */
- int num_args; /* (-1 - unknown) */
- int return_value_used; /* -1 unknown, 0 no, 1 yes */
zend_ssa_var_info return_info;
};
fprintf(stderr, ":\n ; (lines=%d, args=%d",
op_array->last,
op_array->num_args);
- if (func_info && func_info->num_args >= 0) {
- fprintf(stderr, "/%d", func_info->num_args);
- }
fprintf(stderr, ", vars=%d, tmps=%d", op_array->last_var, op_array->T);
if (ssa) {
fprintf(stderr, ", ssa_vars=%d", ssa->vars_count);
fprintf(stderr, ", inline");
}
#endif
- if (func_info && func_info->return_value_used == 0) {
- fprintf(stderr, ", no_return_value");
- } else if (func_info && func_info->return_value_used == 1) {
- fprintf(stderr, ", return_value");
- }
fprintf(stderr, ")\n");
if (msg) {
fprintf(stderr, " ; (%s)\n", msg);
func_info = zend_arena_calloc(&CG(arena), 1, sizeof(zend_func_info));
ZEND_SET_FUNC_INFO(op_array, func_info);
}
- func_info->num_args = -1;
- func_info->return_value_used = -1;
return zend_analyze_calls(&CG(arena), script, ZEND_CALL_TREE, op_array, func_info);
}
JIT_G(trigger) == ZEND_JIT_ON_PROF_REQUEST ||
JIT_G(trigger) == ZEND_JIT_ON_HOT_COUNTERS) {
memset(func_info, 0, sizeof(zend_func_info));
- func_info->num_args = -1;
- func_info->return_value_used = -1;
} else {
ZEND_SET_FUNC_INFO(op_array, NULL);
}
jit_extension = (zend_jit_op_array_hot_extension*)zend_shared_alloc(sizeof(zend_jit_op_array_hot_extension) + (op_array->last - 1) * sizeof(void*));
memset(&jit_extension->func_info, 0, sizeof(zend_func_info));
- jit_extension->func_info.num_args = -1;
- jit_extension->func_info.return_value_used = -1;
jit_extension->counter = &zend_jit_hot_counters[zend_jit_op_array_hash(op_array) & (ZEND_HOT_COUNTERS_COUNT - 1)];
for (i = 0; i < op_array->last; i++) {
jit_extension->orig_handlers[i] = op_array->opcodes[i].handler;
}
jit_extension = (zend_jit_op_array_extension*)zend_shared_alloc(sizeof(zend_jit_op_array_extension));
memset(&jit_extension->func_info, 0, sizeof(zend_func_info));
- jit_extension->func_info.num_args = -1;
- jit_extension->func_info.return_value_used = -1;
jit_extension->orig_handler = (void*)opline->handler;
ZEND_SET_FUNC_INFO(op_array, (void*)jit_extension);
opline->handler = (const void*)zend_jit_runtime_jit_handler;
}
jit_extension = (zend_jit_op_array_extension*)zend_shared_alloc(sizeof(zend_jit_op_array_extension));
memset(&jit_extension->func_info, 0, sizeof(zend_func_info));
- jit_extension->func_info.num_args = -1;
- jit_extension->func_info.return_value_used = -1;
jit_extension->orig_handler = (void*)opline->handler;
ZEND_SET_FUNC_INFO(op_array, (void*)jit_extension);
opline->handler = (const void*)zend_jit_profile_jit_handler;
jit_extension =
(zend_jit_op_array_trace_extension*)ZEND_FUNC_INFO(op_array);
memset(&jit_extension->func_info, 0, sizeof(jit_extension->func_info));
- jit_extension->func_info.num_args = -1;
- jit_extension->func_info.return_value_used = -1;
ssa = &jit_extension->func_info.ssa;
if (JIT_G(opt_level) >= ZEND_JIT_LEVEL_OPT_FUNC) {
(zend_jit_op_array_trace_extension*)ZEND_FUNC_INFO(op_array);
memset(&jit_extension->func_info, 0, sizeof(jit_extension->func_info));
- jit_extension->func_info.num_args = -1;
- jit_extension->func_info.return_value_used = -1;
}
zend_arena_release(&CG(arena), checkpoint);
jit_extension = (zend_jit_op_array_trace_extension*)zend_shared_alloc(sizeof(zend_jit_op_array_trace_extension) + (op_array->last - 1) * sizeof(zend_op_trace_info));
memset(&jit_extension->func_info, 0, sizeof(zend_func_info));
- jit_extension->func_info.num_args = -1;
- jit_extension->func_info.return_value_used = -1;
jit_extension->op_array = op_array;
jit_extension->offset = (char*)jit_extension->trace_info - (char*)op_array->opcodes;
for (i = 0; i < op_array->last; i++) {