Lines Matching refs:op_array

102 static int zend_jit_trace_may_exit(const zend_op_array *op_array, const zend_op *opline);
106 static zend_string *zend_jit_func_name(const zend_op_array *op_array);
118 static bool zend_ssa_is_last_use(const zend_op_array *op_array, const zend_ssa *ssa, int var, int u… in zend_ssa_is_last_use() argument
152 && !zend_ssa_is_no_val_use(op_array->opcodes + prev_use, ssa->ops + prev_use, var)) { in zend_ssa_is_last_use()
162 } else if (zend_ssa_is_no_val_use(op_array->opcodes + next_use, ssa->ops + next_use, var)) { in zend_ssa_is_last_use()
252 …_call_chain(zend_call_info *call_info, uint32_t b, const zend_op_array *op_array, zend_ssa *ssa, c… in zend_jit_needs_call_chain() argument
311 if (zend_may_throw(opline, ssa_op, op_array, ssa)) { in zend_jit_needs_call_chain()
326 const zend_op *end = op_array->opcodes + op_array->last; in zend_jit_needs_call_chain()
333 if (zend_may_throw(opline, ssa_op, op_array, ssa)) { in zend_jit_needs_call_chain()
385 if (end - op_array->opcodes >= ssa->cfg.blocks[b].start + ssa->cfg.blocks[b].len) { in zend_jit_needs_call_chain()
400 if (!end || end - op_array->opcodes >= ssa->cfg.blocks[b].start + ssa->cfg.blocks[b].len) { in zend_jit_needs_call_chain()
427 if (zend_may_throw(opline, ssa_op, op_array, ssa)) { in zend_jit_needs_call_chain()
439 static uint32_t skip_valid_arguments(const zend_op_array *op_array, zend_ssa *ssa, const zend_call_… in skip_valid_arguments() argument
447 zend_arg_info *arg_info = func->op_array.arg_info + num_args; in skip_valid_arguments()
452 zend_ssa_op *ssa_op = ssa->ops ? &ssa->ops[opline - op_array->opcodes] : NULL; in skip_valid_arguments()
466 static uint32_t zend_ssa_cv_info(const zend_op_array *op_array, zend_ssa *ssa, uint32_t var) in zend_ssa_cv_info() argument
472 for (j = op_array->last_var; j < ssa->vars_count; j++) { in zend_ssa_cv_info()
488 … const zend_op *opline = op_array->opcodes + ssa->cfg.blocks[j].start + ssa->cfg.blocks[j].len - 1; in zend_ssa_cv_info()
561 static zend_property_info* zend_get_known_property_info(const zend_op_array *op_array, zend_class_e… in zend_get_known_property_info() argument
565 if ((on_this && (op_array->fn_flags & ZEND_ACC_TRAIT_CLONE)) || in zend_get_known_property_info()
612 if (ce == op_array->scope) { in zend_get_known_property_info()
626 …ic_property(zend_class_entry *ce, zend_string *member, bool on_this, const zend_op_array *op_array) in zend_may_be_dynamic_property() argument
630 if (!ce || (ce->ce_flags & ZEND_ACC_TRAIT) || (op_array->fn_flags & ZEND_ACC_TRAIT_CLONE)) { in zend_may_be_dynamic_property()
635 if (ce->info.user.filename != op_array->filename) { in zend_may_be_dynamic_property()
728 static zend_string *zend_jit_func_name(const zend_op_array *op_array) in zend_jit_func_name() argument
732 if (op_array->function_name) { in zend_jit_func_name()
734 if (op_array->scope) { in zend_jit_func_name()
735 smart_str_appendl(&buf, ZSTR_VAL(op_array->scope->name), ZSTR_LEN(op_array->scope->name)); in zend_jit_func_name()
738 smart_str_appendl(&buf, ZSTR_VAL(op_array->function_name), ZSTR_LEN(op_array->function_name)); in zend_jit_func_name()
739 if (op_array->fn_flags & ZEND_ACC_CLOSURE) { in zend_jit_func_name()
741 smart_str_appendl(&buf, ZSTR_VAL(op_array->filename), ZSTR_LEN(op_array->filename)); in zend_jit_func_name()
743 smart_str_append_long(&buf, op_array->line_start); in zend_jit_func_name()
747 } else if (op_array->filename) { in zend_jit_func_name()
749 smart_str_appendl(&buf, ZSTR_VAL(op_array->filename), ZSTR_LEN(op_array->filename)); in zend_jit_func_name()
757 …low(const zend_op *opline, const zend_ssa_op *ssa_op, const zend_op_array *op_array, zend_ssa *ssa) in zend_may_overflow() argument
924 static int zend_jit_build_cfg(const zend_op_array *op_array, zend_cfg *cfg) in zend_jit_build_cfg() argument
930 zend_build_cfg(&CG(arena), op_array, flags, cfg); in zend_jit_build_cfg()
942 zend_cfg_compute_dominators_tree(op_array, cfg); in zend_jit_build_cfg()
945 zend_cfg_identify_loops(op_array, cfg); in zend_jit_build_cfg()
950 static int zend_jit_op_array_analyze1(const zend_op_array *op_array, zend_script *script, zend_ssa … in zend_jit_op_array_analyze1() argument
952 if (zend_jit_build_cfg(op_array, &ssa->cfg) != SUCCESS) { in zend_jit_op_array_analyze1()
964 if (!op_array->function_name) { in zend_jit_op_array_analyze1()
970 && op_array->last_try_catch == 0 in zend_jit_op_array_analyze1()
971 && !(op_array->fn_flags & ZEND_ACC_GENERATOR) in zend_jit_op_array_analyze1()
973 …if (zend_build_ssa(&CG(arena), script, op_array, ZEND_SSA_RC_INFERENCE | ZEND_SSA_USE_CV_RESULTS, … in zend_jit_op_array_analyze1()
977 zend_ssa_compute_use_def_chains(&CG(arena), op_array, ssa); in zend_jit_op_array_analyze1()
979 zend_ssa_find_false_dependencies(op_array, ssa); in zend_jit_op_array_analyze1()
981 zend_ssa_find_sccs(op_array, ssa); in zend_jit_op_array_analyze1()
987 static int zend_jit_op_array_analyze2(const zend_op_array *op_array, zend_script *script, zend_ssa … in zend_jit_op_array_analyze2() argument
991 && op_array->last_try_catch == 0 in zend_jit_op_array_analyze2()
992 && !(op_array->fn_flags & ZEND_ACC_GENERATOR) in zend_jit_op_array_analyze2()
994 if (zend_ssa_inference(&CG(arena), op_array, script, ssa, in zend_jit_op_array_analyze2()
1003 static void zend_jit_allocate_registers(zend_jit_ctx *ctx, const zend_op_array *op_array, zend_ssa … in zend_jit_allocate_registers() argument
1013 if (zend_jit_may_be_in_reg(op_array, ssa, i)) { in zend_jit_allocate_registers()
1118 if (op_array->last_live_range in zend_jit_allocate_registers()
1119 && var_num >= op_array->last_var in zend_jit_allocate_registers()
1122 const zend_live_range *range = op_array->live_range; in zend_jit_allocate_registers()
1126 if (op_array->opcodes[op_num].opcode == ZEND_OP_DATA) { in zend_jit_allocate_registers()
1129 for (j = 0; j < op_array->last_live_range; range++, j++) { in zend_jit_allocate_registers()
1136 if (zend_may_throw(op_array->opcodes + op_num, ssa->ops + op_num, op_array, ssa)) { in zend_jit_allocate_registers()
1141 if (op_array->opcodes[op_num].opcode == ZEND_OP_DATA) { in zend_jit_allocate_registers()
1174 …fprintf(stderr, "Live Ranges \"%s\"\n", op_array->function_name ? ZSTR_VAL(op_array->function_name… in zend_jit_allocate_registers()
1179 zend_dump_var(op_array, (var_num < op_array->last_var ? IS_CV : 0), var_num); in zend_jit_allocate_registers()
1270 static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op *rt_opline) in zend_jit() argument
1294 op_array->scope ? ZSTR_VAL(op_array->scope->name) : "", in zend_jit()
1295 op_array->scope ? "::" : "", in zend_jit()
1296 op_array->function_name ? ZSTR_VAL(op_array->function_name) : "{main}", in zend_jit()
1297 ZSTR_VAL(op_array->filename), op_array->line_start); in zend_jit()
1310 ssa->cfg.blocks[ssa->cfg.map[rt_opline - op_array->opcodes]].flags |= ZEND_BB_ENTRY; in zend_jit()
1313 zend_jit_start(&ctx, op_array, ssa); in zend_jit()
1316 zend_jit_allocate_registers(&ctx, op_array, ssa); in zend_jit()
1331 opline = op_array->opcodes + ssa->cfg.blocks[b].start; in zend_jit()
1335 if (opline != op_array->opcodes && (opline-1)->opcode != ZEND_RECV_INIT) { in zend_jit()
1339 if (opline != op_array->opcodes && recv_emitted) { in zend_jit()
1345 if (!(op_array->fn_flags & ZEND_ACC_HAS_TYPE_HINTS)) { in zend_jit()
1405 && rt_opline == op_array->opcodes + ssa->cfg.blocks[b].start) { in zend_jit()
1412 && (op_array->opcodes[ssa->cfg.blocks[b].start - 1].opcode == ZEND_NOP in zend_jit()
1413 || op_array->opcodes[ssa->cfg.blocks[b].start - 1].opcode == ZEND_SWITCH_LONG in zend_jit()
1414 || op_array->opcodes[ssa->cfg.blocks[b].start - 1].opcode == ZEND_SWITCH_STRING in zend_jit()
1415 || op_array->opcodes[ssa->cfg.blocks[b].start - 1].opcode == ZEND_MATCH)) { in zend_jit()
1418 zend_jit_set_last_valid_opline(&ctx, op_array->opcodes + ssa->cfg.blocks[b].start); in zend_jit()
1425 zend_jit_set_last_valid_opline(&ctx, op_array->opcodes + ssa->cfg.blocks[b].start); in zend_jit()
1428 zend_jit_check_timeout(&ctx, op_array->opcodes + ssa->cfg.blocks[b].start, NULL); in zend_jit()
1461 opline = op_array->opcodes + i; in zend_jit()
1516 …MAY_BE_LONG) && (op1_def_info & MAY_BE_DOUBLE) && zend_may_overflow(opline, ssa_op, op_array, ssa), in zend_jit()
1517 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
1566 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
1628 …o & MAY_BE_LONG) && (res_info & MAY_BE_DOUBLE) && zend_may_overflow(opline, ssa_op, op_array, ssa), in zend_jit()
1629 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
1659 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
1688 …MAY_BE_LONG) && (op1_def_info & MAY_BE_DOUBLE) && zend_may_overflow(opline, ssa_op, op_array, ssa), in zend_jit()
1689 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
1709 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
1728 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
1749 ce = op_array->scope; in zend_jit()
1763 zend_ssa_op *ssa_op = &ssa->ops[opline - op_array->opcodes]; in zend_jit()
1773 if (!zend_jit_incdec_obj(&ctx, opline, op_array, ssa, ssa_op, in zend_jit()
1800 ce = op_array->scope; in zend_jit()
1814 zend_ssa_op *ssa_op = &ssa->ops[opline - op_array->opcodes]; in zend_jit()
1824 if (!zend_jit_assign_obj_op(&ctx, opline, op_array, ssa, ssa_op, in zend_jit()
1844 ce = op_array->scope; in zend_jit()
1858 zend_ssa_op *ssa_op = &ssa->ops[opline - op_array->opcodes]; in zend_jit()
1868 if (!zend_jit_assign_obj(&ctx, opline, op_array, ssa, ssa_op, in zend_jit()
1872 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
1885 && ssa->ops[opline - op_array->opcodes].op2_def >= 0 in zend_jit()
1886 && !ssa->vars[ssa->ops[opline - op_array->opcodes].op2_def].no_val) { in zend_jit()
1918 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
1925 && ssa->ops[opline - op_array->opcodes].op1_def >= 0 in zend_jit()
1926 && !ssa->vars[ssa->ops[opline - op_array->opcodes].op1_def].no_val) { in zend_jit()
1940 if (!zend_jit_init_fcall(&ctx, opline, b, op_array, ssa, ssa_op, call_level, NULL, 0)) { in zend_jit()
1964 if (!zend_jit_send_ref(&ctx, opline, op_array, in zend_jit()
1985 && ssa->ops[opline - op_array->opcodes].op1_def >= 0 in zend_jit()
1986 && !ssa->vars[ssa->ops[opline - op_array->opcodes].op1_def].no_val) { in zend_jit()
1991 if (!zend_jit_send_var(&ctx, opline, op_array, in zend_jit()
2018 if (!zend_jit_do_fcall(&ctx, opline, op_array, ssa, call_level, b + 1, NULL)) { in zend_jit()
2053 zend_may_throw(opline, ssa_op, op_array, ssa), in zend_jit()
2089 zend_may_throw(opline, ssa_op, op_array, ssa), in zend_jit()
2140 || op_array->type == ZEND_EVAL_CODE in zend_jit()
2142 || !op_array->function_name in zend_jit()
2149 if (!zend_jit_return(&ctx, opline, op_array, in zend_jit()
2160 zend_may_throw(opline, ssa_op, op_array, ssa), in zend_jit()
2167 if (opline > op_array->opcodes + ssa->cfg.blocks[b].start && in zend_jit()
2186 zend_may_throw(opline, ssa_op, op_array, ssa), in zend_jit()
2302 zend_may_throw(opline, ssa_op, op_array, ssa), in zend_jit()
2322 ce = op_array->scope; in zend_jit()
2335 zend_ssa_op *ssa_op = &ssa->ops[opline - op_array->opcodes]; in zend_jit()
2345 if (!zend_jit_fetch_obj(&ctx, opline, op_array, ssa, ssa_op, in zend_jit()
2348 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
2363 if (!zend_jit_recv(&ctx, opline, op_array)) { in zend_jit()
2368 if (!zend_jit_recv_init(&ctx, opline, op_array, in zend_jit()
2370 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
2377 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
2404 …opline, op1_info, OP1_REG_ADDR(), RES_REG_ADDR(), zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
2409 if (!zend_jit_fetch_this(&ctx, opline, op_array, 0)) { in zend_jit()
2416 if (!zend_jit_switch(&ctx, opline, op_array, ssa, NULL, NULL)) { in zend_jit()
2429 if (op_array->fn_flags & ZEND_ACC_RETURN_REFERENCE) { in zend_jit()
2437 if (!zend_jit_verify_return_type(&ctx, opline, op_array, OP1_INFO())) { in zend_jit()
2461 if (!zend_jit_fetch_constant(&ctx, opline, op_array, ssa, ssa_op, RES_REG_ADDR())) { in zend_jit()
2476 ce = op_array->scope; in zend_jit()
2489 zend_ssa_op *ssa_op = &ssa->ops[opline - op_array->opcodes]; in zend_jit()
2499 if (!zend_jit_init_method_call(&ctx, opline, b, op_array, ssa, ssa_op, call_level, in zend_jit()
2526 if (opline == op_array->opcodes || in zend_jit()
2527 opline->opcode != op_array->opcodes[i-1].opcode) { in zend_jit()
2530 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
2588 if (opline > op_array->opcodes + ssa->cfg.blocks[b].start && in zend_jit()
2609 zend_may_throw(opline, ssa_op, op_array, ssa)) || in zend_jit()
2628 … zend_ssa_var_info *res_ssa = &ssa->var_info[ssa->ops[opline - op_array->opcodes].result_def]; in zend_jit()
2649 zend_jit_constructor(&ctx, next_opline, op_array, ssa, call_level, b + 1); in zend_jit()
2675 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
2703 if (op_array->last_var > 100) { in zend_jit()
2713 for (j = 0 ; j < op_array->last_var; j++) { in zend_jit()
2714 uint32_t info = zend_ssa_cv_info(op_array, ssa, j); in zend_jit()
2729 if (!zend_jit_leave_func(&ctx, op_array, NULL, MAY_BE_ANY, left_frame, in zend_jit()
2754 static void zend_jit_collect_calls(zend_op_array *op_array, zend_script *script) in zend_jit_collect_calls() argument
2761 func_info = ZEND_FUNC_INFO(op_array); in zend_jit_collect_calls()
2764 ZEND_SET_FUNC_INFO(op_array, func_info); in zend_jit_collect_calls()
2766 zend_analyze_calls(&CG(arena), script, ZEND_CALL_TREE, op_array, func_info); in zend_jit_collect_calls()
2769 static void zend_jit_cleanup_func_info(zend_op_array *op_array) in zend_jit_cleanup_func_info() argument
2771 zend_func_info *func_info = ZEND_FUNC_INFO(op_array); in zend_jit_cleanup_func_info()
2788 ZEND_SET_FUNC_INFO(op_array, NULL); in zend_jit_cleanup_func_info()
2799 zend_jit_cleanup_func_info(&callee_info->callee_func->op_array); in zend_jit_cleanup_func_info()
2806 static int zend_real_jit_func(zend_op_array *op_array, zend_script *script, const zend_op *rt_oplin… in zend_real_jit_func() argument
2821 if (zend_jit_op_array_analyze1(op_array, script, &ssa) != SUCCESS) { in zend_real_jit_func()
2826 zend_jit_collect_calls(op_array, script); in zend_real_jit_func()
2827 func_info = ZEND_FUNC_INFO(op_array); in zend_real_jit_func()
2828 func_info->call_map = zend_build_call_map(&CG(arena), func_info, op_array); in zend_real_jit_func()
2829 if (op_array->fn_flags & ZEND_ACC_HAS_RETURN_TYPE) { in zend_real_jit_func()
2830 zend_init_func_return_info(op_array, script, &func_info->return_info); in zend_real_jit_func()
2834 …if (zend_jit_op_array_analyze2(op_array, script, &ssa, ZCG(accel_directives).optimization_level) !… in zend_real_jit_func()
2839 …zend_dump_op_array(op_array, ZEND_DUMP_HIDE_UNREACHABLE|ZEND_DUMP_RC_INFERENCE|ZEND_DUMP_SSA, "JIT… in zend_real_jit_func()
2842 if (zend_jit(op_array, &ssa, rt_opline) != SUCCESS) { in zend_real_jit_func()
2846 zend_jit_cleanup_func_info(op_array); in zend_real_jit_func()
2851 zend_jit_cleanup_func_info(op_array); in zend_real_jit_func()
2860 zend_op_array *op_array = &EX(func)->op_array; in zend_runtime_jit() local
2861 zend_op *opline = op_array->opcodes; in zend_runtime_jit()
2867 if (ZEND_FUNC_INFO(op_array)) { in zend_runtime_jit()
2874 if (!(op_array->fn_flags & ZEND_ACC_HAS_TYPE_HINTS)) { in zend_runtime_jit()
2879 jit_extension = (zend_jit_op_array_extension*)ZEND_FUNC_INFO(op_array); in zend_runtime_jit()
2883 zend_real_jit_func(op_array, NULL, NULL); in zend_runtime_jit()
2905 zend_op_array *op_array; in zend_jit_check_funcs() local
2913 op_array = &func->op_array; in zend_jit_check_funcs()
2914 opline = op_array->opcodes; in zend_jit_check_funcs()
2915 if (!(op_array->fn_flags & ZEND_ACC_HAS_TYPE_HINTS)) { in zend_jit_check_funcs()
2921 if (!RUN_TIME_CACHE(op_array)) { in zend_jit_check_funcs()
2924 counter = (uintptr_t)ZEND_COUNTER_INFO(op_array); in zend_jit_check_funcs()
2925 ZEND_COUNTER_INFO(op_array) = 0; in zend_jit_check_funcs()
2926 jit_extension = (zend_jit_op_array_extension*)ZEND_FUNC_INFO(op_array); in zend_jit_check_funcs()
2929 zend_real_jit_func(op_array, NULL, NULL); in zend_jit_check_funcs()
2937 zend_op_array *op_array = &EX(func)->op_array; in zend_jit_hot_func() local
2943 jit_extension = (zend_jit_op_array_hot_extension*)ZEND_FUNC_INFO(op_array); in zend_jit_hot_func()
2950 for (i = 0; i < op_array->last; i++) { in zend_jit_hot_func()
2951 op_array->opcodes[i].handler = jit_extension->orig_handlers[i]; in zend_jit_hot_func()
2955 zend_real_jit_func(op_array, NULL, opline); in zend_jit_hot_func()
2972 static void zend_jit_setup_hot_counters_ex(zend_op_array *op_array, zend_cfg *cfg) in zend_jit_setup_hot_counters_ex() argument
2975 zend_op *opline = op_array->opcodes; in zend_jit_setup_hot_counters_ex()
2977 if (!(op_array->fn_flags & ZEND_ACC_HAS_TYPE_HINTS)) { in zend_jit_setup_hot_counters_ex()
2992 op_array->opcodes[cfg->blocks[i].start].handler = in zend_jit_setup_hot_counters_ex()
2999 static int zend_jit_restart_hot_counters(zend_op_array *op_array) in zend_jit_restart_hot_counters() argument
3005 jit_extension = (zend_jit_op_array_hot_extension*)ZEND_FUNC_INFO(op_array); in zend_jit_restart_hot_counters()
3006 for (i = 0; i < op_array->last; i++) { in zend_jit_restart_hot_counters()
3007 op_array->opcodes[i].handler = jit_extension->orig_handlers[i]; in zend_jit_restart_hot_counters()
3010 if (zend_jit_build_cfg(op_array, &cfg) != SUCCESS) { in zend_jit_restart_hot_counters()
3014 zend_jit_setup_hot_counters_ex(op_array, &cfg); in zend_jit_restart_hot_counters()
3019 static int zend_jit_setup_hot_counters(zend_op_array *op_array) in zend_jit_setup_hot_counters() argument
3028 if (zend_jit_build_cfg(op_array, &cfg) != SUCCESS) { in zend_jit_setup_hot_counters()
3032 …extension*)zend_shared_alloc(sizeof(zend_jit_op_array_hot_extension) + (op_array->last - 1) * size… in zend_jit_setup_hot_counters()
3038 …jit_extension->counter = &zend_jit_hot_counters[zend_jit_op_array_hash(op_array) & (ZEND_HOT_COUNT… in zend_jit_setup_hot_counters()
3039 for (i = 0; i < op_array->last; i++) { in zend_jit_setup_hot_counters()
3040 jit_extension->orig_handlers[i] = op_array->opcodes[i].handler; in zend_jit_setup_hot_counters()
3042 ZEND_SET_FUNC_INFO(op_array, (void*)jit_extension); in zend_jit_setup_hot_counters()
3044 zend_jit_setup_hot_counters_ex(op_array, &cfg); in zend_jit_setup_hot_counters()
3046 zend_shared_alloc_register_xlat_entry(op_array->opcodes, jit_extension); in zend_jit_setup_hot_counters()
3053 int zend_jit_op_array(zend_op_array *op_array, zend_script *script) in zend_jit_op_array() argument
3061 zend_op *opline = op_array->opcodes; in zend_jit_op_array()
3064 ZEND_SET_FUNC_INFO(op_array, NULL); in zend_jit_op_array()
3071 if (!(op_array->fn_flags & ZEND_ACC_HAS_TYPE_HINTS)) { in zend_jit_op_array()
3083 ZEND_SET_FUNC_INFO(op_array, (void*)jit_extension); in zend_jit_op_array()
3085 zend_shared_alloc_register_xlat_entry(op_array->opcodes, jit_extension); in zend_jit_op_array()
3090 zend_op *opline = op_array->opcodes; in zend_jit_op_array()
3093 ZEND_SET_FUNC_INFO(op_array, NULL); in zend_jit_op_array()
3099 if (op_array->function_name) { in zend_jit_op_array()
3100 if (!(op_array->fn_flags & ZEND_ACC_HAS_TYPE_HINTS)) { in zend_jit_op_array()
3112 ZEND_SET_FUNC_INFO(op_array, (void*)jit_extension); in zend_jit_op_array()
3114 zend_shared_alloc_register_xlat_entry(op_array->opcodes, jit_extension); in zend_jit_op_array()
3119 return zend_jit_setup_hot_counters(op_array); in zend_jit_op_array()
3121 return zend_jit_setup_hot_trace_counters(op_array); in zend_jit_op_array()
3123 return zend_real_jit_func(op_array, script, NULL); in zend_jit_op_array()
3215 zend_op_array *op_array; in zend_jit_script() local
3218 ZEND_HASH_MAP_FOREACH_PTR(&ce->function_table, op_array) { in zend_jit_script()
3219 if (!ZEND_FUNC_INFO(op_array)) { in zend_jit_script()
3220 void *jit_extension = zend_shared_alloc_get_xlat_entry(op_array->opcodes); in zend_jit_script()
3223 ZEND_SET_FUNC_INFO(op_array, jit_extension); in zend_jit_script()
3651 static void zend_jit_restart_preloaded_op_array(zend_op_array *op_array) in zend_jit_restart_preloaded_op_array() argument
3653 zend_func_info *func_info = ZEND_FUNC_INFO(op_array); in zend_jit_restart_preloaded_op_array()
3660 zend_jit_restart_hot_trace_counters(op_array); in zend_jit_restart_preloaded_op_array()
3662 zend_jit_restart_hot_counters(op_array); in zend_jit_restart_preloaded_op_array()
3666 zend_op *opline = op_array->opcodes; in zend_jit_restart_preloaded_op_array()
3670 if (!(op_array->fn_flags & ZEND_ACC_HAS_TYPE_HINTS)) { in zend_jit_restart_preloaded_op_array()
3682 if (op_array->num_dynamic_func_defs) { in zend_jit_restart_preloaded_op_array()
3683 for (uint32_t i = 0; i < op_array->num_dynamic_func_defs; i++) { in zend_jit_restart_preloaded_op_array()
3684 zend_jit_restart_preloaded_op_array(op_array->dynamic_func_defs[i]); in zend_jit_restart_preloaded_op_array()
3692 zend_op_array *op_array; in zend_jit_restart_preloaded_script() local
3696 ZEND_HASH_MAP_FOREACH_PTR(&script->script.function_table, op_array) { in zend_jit_restart_preloaded_script()
3697 zend_jit_restart_preloaded_op_array(op_array); in zend_jit_restart_preloaded_script()
3701 ZEND_HASH_MAP_FOREACH_PTR(&ce->function_table, op_array) { in zend_jit_restart_preloaded_script()
3702 if (op_array->type == ZEND_USER_FUNCTION) { in zend_jit_restart_preloaded_script()
3703 zend_jit_restart_preloaded_op_array(op_array); in zend_jit_restart_preloaded_script()