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);
117 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
151 && !zend_ssa_is_no_val_use(op_array->opcodes + prev_use, ssa->ops + prev_use, var)) { in zend_ssa_is_last_use()
161 } else if (zend_ssa_is_no_val_use(op_array->opcodes + next_use, ssa->ops + next_use, var)) { in zend_ssa_is_last_use()
251 …_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
309 if (zend_may_throw(opline, ssa_op, op_array, ssa)) { in zend_jit_needs_call_chain()
324 const zend_op *end = op_array->opcodes + op_array->last; in zend_jit_needs_call_chain()
331 if (zend_may_throw(opline, ssa_op, op_array, ssa)) { in zend_jit_needs_call_chain()
382 if (end - op_array->opcodes >= ssa->cfg.blocks[b].start + ssa->cfg.blocks[b].len) { in zend_jit_needs_call_chain()
397 if (!end || end - op_array->opcodes >= ssa->cfg.blocks[b].start + ssa->cfg.blocks[b].len) { in zend_jit_needs_call_chain()
424 if (zend_may_throw(opline, ssa_op, op_array, ssa)) { in zend_jit_needs_call_chain()
436 static uint32_t skip_valid_arguments(const zend_op_array *op_array, zend_ssa *ssa, const zend_call_… in skip_valid_arguments() argument
444 zend_arg_info *arg_info = func->op_array.arg_info + num_args; in skip_valid_arguments()
449 zend_ssa_op *ssa_op = ssa->ops ? &ssa->ops[opline - op_array->opcodes] : NULL; in skip_valid_arguments()
463 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
469 for (j = op_array->last_var; j < ssa->vars_count; j++) { in zend_ssa_cv_info()
485 … const zend_op *opline = op_array->opcodes + ssa->cfg.blocks[j].start + ssa->cfg.blocks[j].len - 1; in zend_ssa_cv_info()
558 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
562 if ((on_this && (op_array->fn_flags & ZEND_ACC_TRAIT_CLONE)) || in zend_get_known_property_info()
607 if (ce == op_array->scope) { in zend_get_known_property_info()
721 static zend_string *zend_jit_func_name(const zend_op_array *op_array) in zend_jit_func_name() argument
725 if (op_array->function_name) { in zend_jit_func_name()
727 if (op_array->scope) { in zend_jit_func_name()
728 smart_str_appendl(&buf, ZSTR_VAL(op_array->scope->name), ZSTR_LEN(op_array->scope->name)); in zend_jit_func_name()
731 smart_str_appendl(&buf, ZSTR_VAL(op_array->function_name), ZSTR_LEN(op_array->function_name)); in zend_jit_func_name()
732 if (op_array->fn_flags & ZEND_ACC_CLOSURE) { in zend_jit_func_name()
734 smart_str_appendl(&buf, ZSTR_VAL(op_array->filename), ZSTR_LEN(op_array->filename)); in zend_jit_func_name()
736 smart_str_append_long(&buf, op_array->line_start); in zend_jit_func_name()
740 } else if (op_array->filename) { in zend_jit_func_name()
742 smart_str_appendl(&buf, ZSTR_VAL(op_array->filename), ZSTR_LEN(op_array->filename)); in zend_jit_func_name()
750 …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
917 static int zend_jit_build_cfg(const zend_op_array *op_array, zend_cfg *cfg) in zend_jit_build_cfg() argument
923 zend_build_cfg(&CG(arena), op_array, flags, cfg); in zend_jit_build_cfg()
935 zend_cfg_compute_dominators_tree(op_array, cfg); in zend_jit_build_cfg()
938 zend_cfg_identify_loops(op_array, cfg); in zend_jit_build_cfg()
943 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
945 if (zend_jit_build_cfg(op_array, &ssa->cfg) != SUCCESS) { in zend_jit_op_array_analyze1()
957 if (!op_array->function_name) { in zend_jit_op_array_analyze1()
963 && op_array->last_try_catch == 0 in zend_jit_op_array_analyze1()
964 && !(op_array->fn_flags & ZEND_ACC_GENERATOR) in zend_jit_op_array_analyze1()
966 …if (zend_build_ssa(&CG(arena), script, op_array, ZEND_SSA_RC_INFERENCE | ZEND_SSA_USE_CV_RESULTS, … in zend_jit_op_array_analyze1()
970 zend_ssa_compute_use_def_chains(&CG(arena), op_array, ssa); in zend_jit_op_array_analyze1()
972 zend_ssa_find_false_dependencies(op_array, ssa); in zend_jit_op_array_analyze1()
974 zend_ssa_find_sccs(op_array, ssa); in zend_jit_op_array_analyze1()
980 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
984 && op_array->last_try_catch == 0 in zend_jit_op_array_analyze2()
985 && !(op_array->fn_flags & ZEND_ACC_GENERATOR) in zend_jit_op_array_analyze2()
987 if (zend_ssa_inference(&CG(arena), op_array, script, ssa, in zend_jit_op_array_analyze2()
996 static void zend_jit_allocate_registers(zend_jit_ctx *ctx, const zend_op_array *op_array, zend_ssa … in zend_jit_allocate_registers() argument
1006 if (zend_jit_may_be_in_reg(op_array, ssa, i)) { in zend_jit_allocate_registers()
1111 if (op_array->last_live_range in zend_jit_allocate_registers()
1112 && var_num >= op_array->last_var in zend_jit_allocate_registers()
1115 const zend_live_range *range = op_array->live_range; in zend_jit_allocate_registers()
1119 if (op_array->opcodes[op_num].opcode == ZEND_OP_DATA) { in zend_jit_allocate_registers()
1122 for (j = 0; j < op_array->last_live_range; range++, j++) { in zend_jit_allocate_registers()
1129 if (zend_may_throw(op_array->opcodes + op_num, ssa->ops + op_num, op_array, ssa)) { in zend_jit_allocate_registers()
1134 if (op_array->opcodes[op_num].opcode == ZEND_OP_DATA) { in zend_jit_allocate_registers()
1167 …fprintf(stderr, "Live Ranges \"%s\"\n", op_array->function_name ? ZSTR_VAL(op_array->function_name… in zend_jit_allocate_registers()
1172 zend_dump_var(op_array, (var_num < op_array->last_var ? IS_CV : 0), var_num); in zend_jit_allocate_registers()
1263 static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op *rt_opline) in zend_jit() argument
1287 op_array->scope ? ZSTR_VAL(op_array->scope->name) : "", in zend_jit()
1288 op_array->scope ? "::" : "", in zend_jit()
1289 op_array->function_name ? ZSTR_VAL(op_array->function_name) : "{main}", in zend_jit()
1290 ZSTR_VAL(op_array->filename), op_array->line_start); in zend_jit()
1303 ssa->cfg.blocks[ssa->cfg.map[rt_opline - op_array->opcodes]].flags |= ZEND_BB_ENTRY; in zend_jit()
1306 zend_jit_start(&ctx, op_array, ssa); in zend_jit()
1309 zend_jit_allocate_registers(&ctx, op_array, ssa); in zend_jit()
1324 opline = op_array->opcodes + ssa->cfg.blocks[b].start; in zend_jit()
1328 if (opline != op_array->opcodes && (opline-1)->opcode != ZEND_RECV_INIT) { in zend_jit()
1332 if (opline != op_array->opcodes && recv_emitted) { in zend_jit()
1338 if (!(op_array->fn_flags & ZEND_ACC_HAS_TYPE_HINTS)) { in zend_jit()
1398 && rt_opline == op_array->opcodes + ssa->cfg.blocks[b].start) { in zend_jit()
1405 && (op_array->opcodes[ssa->cfg.blocks[b].start - 1].opcode == ZEND_NOP in zend_jit()
1406 || op_array->opcodes[ssa->cfg.blocks[b].start - 1].opcode == ZEND_SWITCH_LONG in zend_jit()
1407 || op_array->opcodes[ssa->cfg.blocks[b].start - 1].opcode == ZEND_SWITCH_STRING in zend_jit()
1408 || op_array->opcodes[ssa->cfg.blocks[b].start - 1].opcode == ZEND_MATCH)) { in zend_jit()
1411 zend_jit_set_last_valid_opline(&ctx, op_array->opcodes + ssa->cfg.blocks[b].start); in zend_jit()
1418 zend_jit_set_last_valid_opline(&ctx, op_array->opcodes + ssa->cfg.blocks[b].start); in zend_jit()
1421 if (!zend_jit_check_timeout(&ctx, op_array->opcodes + ssa->cfg.blocks[b].start, NULL)) { in zend_jit()
1456 opline = op_array->opcodes + i; in zend_jit()
1510 …MAY_BE_LONG) && (op1_def_info & MAY_BE_DOUBLE) && zend_may_overflow(opline, ssa_op, op_array, ssa), in zend_jit()
1511 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
1560 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
1622 …o & MAY_BE_LONG) && (res_info & MAY_BE_DOUBLE) && zend_may_overflow(opline, ssa_op, op_array, ssa), in zend_jit()
1623 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
1653 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
1674 …MAY_BE_LONG) && (op1_def_info & MAY_BE_DOUBLE) && zend_may_overflow(opline, ssa_op, op_array, ssa), in zend_jit()
1675 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
1693 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
1706 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
1727 ce = op_array->scope; in zend_jit()
1738 zend_ssa_op *ssa_op = &ssa->ops[opline - op_array->opcodes]; in zend_jit()
1748 if (!zend_jit_incdec_obj(&ctx, opline, op_array, ssa, ssa_op, in zend_jit()
1775 ce = op_array->scope; in zend_jit()
1786 zend_ssa_op *ssa_op = &ssa->ops[opline - op_array->opcodes]; in zend_jit()
1796 if (!zend_jit_assign_obj_op(&ctx, opline, op_array, ssa, ssa_op, in zend_jit()
1816 ce = op_array->scope; in zend_jit()
1827 zend_ssa_op *ssa_op = &ssa->ops[opline - op_array->opcodes]; in zend_jit()
1837 if (!zend_jit_assign_obj(&ctx, opline, op_array, ssa, ssa_op, in zend_jit()
1840 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
1853 && ssa->ops[opline - op_array->opcodes].op2_def >= 0 in zend_jit()
1854 && !ssa->vars[ssa->ops[opline - op_array->opcodes].op2_def].no_val) { in zend_jit()
1886 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
1893 && ssa->ops[opline - op_array->opcodes].op1_def >= 0 in zend_jit()
1894 && !ssa->vars[ssa->ops[opline - op_array->opcodes].op1_def].no_val) { in zend_jit()
1908 if (!zend_jit_init_fcall(&ctx, opline, b, op_array, ssa, ssa_op, call_level, NULL, 0)) { in zend_jit()
1932 if (!zend_jit_send_ref(&ctx, opline, op_array, in zend_jit()
1953 && ssa->ops[opline - op_array->opcodes].op1_def >= 0 in zend_jit()
1954 && !ssa->vars[ssa->ops[opline - op_array->opcodes].op1_def].no_val) { in zend_jit()
1959 if (!zend_jit_send_var(&ctx, opline, op_array, in zend_jit()
1986 if (!zend_jit_do_fcall(&ctx, opline, op_array, ssa, call_level, b + 1, NULL)) { in zend_jit()
2021 zend_may_throw(opline, ssa_op, op_array, ssa), in zend_jit()
2057 zend_may_throw(opline, ssa_op, op_array, ssa), in zend_jit()
2108 || op_array->type == ZEND_EVAL_CODE in zend_jit()
2110 || !op_array->function_name in zend_jit()
2117 if (!zend_jit_return(&ctx, opline, op_array, in zend_jit()
2128 zend_may_throw(opline, ssa_op, op_array, ssa), in zend_jit()
2135 if (opline > op_array->opcodes + ssa->cfg.blocks[b].start && in zend_jit()
2154 zend_may_throw(opline, ssa_op, op_array, ssa), in zend_jit()
2266 zend_may_throw(opline, ssa_op, op_array, ssa), in zend_jit()
2286 ce = op_array->scope; in zend_jit()
2296 zend_ssa_op *ssa_op = &ssa->ops[opline - op_array->opcodes]; in zend_jit()
2306 if (!zend_jit_fetch_obj(&ctx, opline, op_array, ssa, ssa_op, in zend_jit()
2309 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
2324 if (!zend_jit_recv(&ctx, opline, op_array)) { in zend_jit()
2329 if (!zend_jit_recv_init(&ctx, opline, op_array, in zend_jit()
2331 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
2338 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
2365 …opline, op1_info, OP1_REG_ADDR(), RES_REG_ADDR(), zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
2370 if (!zend_jit_fetch_this(&ctx, opline, op_array, 0)) { in zend_jit()
2377 if (!zend_jit_switch(&ctx, opline, op_array, ssa, NULL, NULL)) { in zend_jit()
2390 if (op_array->fn_flags & ZEND_ACC_RETURN_REFERENCE) { in zend_jit()
2398 if (!zend_jit_verify_return_type(&ctx, opline, op_array, OP1_INFO())) { in zend_jit()
2422 if (!zend_jit_fetch_constant(&ctx, opline, op_array, ssa, ssa_op, RES_REG_ADDR())) { in zend_jit()
2437 ce = op_array->scope; in zend_jit()
2447 zend_ssa_op *ssa_op = &ssa->ops[opline - op_array->opcodes]; in zend_jit()
2457 if (!zend_jit_init_method_call(&ctx, opline, b, op_array, ssa, ssa_op, call_level, in zend_jit()
2484 if (opline == op_array->opcodes || in zend_jit()
2485 opline->opcode != op_array->opcodes[i-1].opcode) { in zend_jit()
2488 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
2541 if (opline > op_array->opcodes + ssa->cfg.blocks[b].start && in zend_jit()
2562 zend_may_throw(opline, ssa_op, op_array, ssa)) || in zend_jit()
2581 … zend_ssa_var_info *res_ssa = &ssa->var_info[ssa->ops[opline - op_array->opcodes].result_def]; in zend_jit()
2602 zend_jit_constructor(&ctx, next_opline, op_array, ssa, call_level, b + 1); in zend_jit()
2628 zend_may_throw(opline, ssa_op, op_array, ssa))) { in zend_jit()
2656 if (op_array->last_var > 100) { in zend_jit()
2666 for (j = 0 ; j < op_array->last_var; j++) { in zend_jit()
2667 uint32_t info = zend_ssa_cv_info(op_array, ssa, j); in zend_jit()
2682 if (!zend_jit_leave_func(&ctx, op_array, NULL, MAY_BE_ANY, left_frame, in zend_jit()
2707 static void zend_jit_collect_calls(zend_op_array *op_array, zend_script *script) in zend_jit_collect_calls() argument
2714 func_info = ZEND_FUNC_INFO(op_array); in zend_jit_collect_calls()
2717 ZEND_SET_FUNC_INFO(op_array, func_info); in zend_jit_collect_calls()
2719 zend_analyze_calls(&CG(arena), script, ZEND_CALL_TREE, op_array, func_info); in zend_jit_collect_calls()
2722 static void zend_jit_cleanup_func_info(zend_op_array *op_array) in zend_jit_cleanup_func_info() argument
2724 zend_func_info *func_info = ZEND_FUNC_INFO(op_array); in zend_jit_cleanup_func_info()
2741 ZEND_SET_FUNC_INFO(op_array, NULL); in zend_jit_cleanup_func_info()
2752 zend_jit_cleanup_func_info(&callee_info->callee_func->op_array); in zend_jit_cleanup_func_info()
2759 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
2774 if (zend_jit_op_array_analyze1(op_array, script, &ssa) != SUCCESS) { in zend_real_jit_func()
2779 zend_jit_collect_calls(op_array, script); in zend_real_jit_func()
2780 func_info = ZEND_FUNC_INFO(op_array); in zend_real_jit_func()
2781 func_info->call_map = zend_build_call_map(&CG(arena), func_info, op_array); in zend_real_jit_func()
2782 if (op_array->fn_flags & ZEND_ACC_HAS_RETURN_TYPE) { in zend_real_jit_func()
2783 zend_init_func_return_info(op_array, script, &func_info->return_info); in zend_real_jit_func()
2787 …if (zend_jit_op_array_analyze2(op_array, script, &ssa, ZCG(accel_directives).optimization_level) !… in zend_real_jit_func()
2792 …zend_dump_op_array(op_array, ZEND_DUMP_HIDE_UNREACHABLE|ZEND_DUMP_RC_INFERENCE|ZEND_DUMP_SSA, "JIT… in zend_real_jit_func()
2795 if (zend_jit(op_array, &ssa, rt_opline) != SUCCESS) { in zend_real_jit_func()
2799 zend_jit_cleanup_func_info(op_array); in zend_real_jit_func()
2804 zend_jit_cleanup_func_info(op_array); in zend_real_jit_func()
2813 zend_op_array *op_array = &EX(func)->op_array; in zend_runtime_jit() local
2814 zend_op *opline = op_array->opcodes; in zend_runtime_jit()
2820 if (ZEND_FUNC_INFO(op_array)) { in zend_runtime_jit()
2827 if (!(op_array->fn_flags & ZEND_ACC_HAS_TYPE_HINTS)) { in zend_runtime_jit()
2832 jit_extension = (zend_jit_op_array_extension*)ZEND_FUNC_INFO(op_array); in zend_runtime_jit()
2836 zend_real_jit_func(op_array, NULL, NULL); in zend_runtime_jit()
2858 zend_op_array *op_array; in zend_jit_check_funcs() local
2866 op_array = &func->op_array; in zend_jit_check_funcs()
2867 opline = op_array->opcodes; in zend_jit_check_funcs()
2868 if (!(op_array->fn_flags & ZEND_ACC_HAS_TYPE_HINTS)) { in zend_jit_check_funcs()
2874 if (!RUN_TIME_CACHE(op_array)) { in zend_jit_check_funcs()
2877 counter = (uintptr_t)ZEND_COUNTER_INFO(op_array); in zend_jit_check_funcs()
2878 ZEND_COUNTER_INFO(op_array) = 0; in zend_jit_check_funcs()
2879 jit_extension = (zend_jit_op_array_extension*)ZEND_FUNC_INFO(op_array); in zend_jit_check_funcs()
2882 zend_real_jit_func(op_array, NULL, NULL); in zend_jit_check_funcs()
2890 zend_op_array *op_array = &EX(func)->op_array; in zend_jit_hot_func() local
2896 jit_extension = (zend_jit_op_array_hot_extension*)ZEND_FUNC_INFO(op_array); in zend_jit_hot_func()
2903 for (i = 0; i < op_array->last; i++) { in zend_jit_hot_func()
2904 op_array->opcodes[i].handler = jit_extension->orig_handlers[i]; in zend_jit_hot_func()
2908 zend_real_jit_func(op_array, NULL, opline); in zend_jit_hot_func()
2925 static void zend_jit_setup_hot_counters_ex(zend_op_array *op_array, zend_cfg *cfg) in zend_jit_setup_hot_counters_ex() argument
2928 zend_op *opline = op_array->opcodes; in zend_jit_setup_hot_counters_ex()
2930 if (!(op_array->fn_flags & ZEND_ACC_HAS_TYPE_HINTS)) { in zend_jit_setup_hot_counters_ex()
2945 op_array->opcodes[cfg->blocks[i].start].handler = in zend_jit_setup_hot_counters_ex()
2952 static int zend_jit_restart_hot_counters(zend_op_array *op_array) in zend_jit_restart_hot_counters() argument
2958 jit_extension = (zend_jit_op_array_hot_extension*)ZEND_FUNC_INFO(op_array); in zend_jit_restart_hot_counters()
2959 for (i = 0; i < op_array->last; i++) { in zend_jit_restart_hot_counters()
2960 op_array->opcodes[i].handler = jit_extension->orig_handlers[i]; in zend_jit_restart_hot_counters()
2963 if (zend_jit_build_cfg(op_array, &cfg) != SUCCESS) { in zend_jit_restart_hot_counters()
2967 zend_jit_setup_hot_counters_ex(op_array, &cfg); in zend_jit_restart_hot_counters()
2972 static int zend_jit_setup_hot_counters(zend_op_array *op_array) in zend_jit_setup_hot_counters() argument
2981 if (zend_jit_build_cfg(op_array, &cfg) != SUCCESS) { in zend_jit_setup_hot_counters()
2985 …extension*)zend_shared_alloc(sizeof(zend_jit_op_array_hot_extension) + (op_array->last - 1) * size… in zend_jit_setup_hot_counters()
2991 …jit_extension->counter = &zend_jit_hot_counters[zend_jit_op_array_hash(op_array) & (ZEND_HOT_COUNT… in zend_jit_setup_hot_counters()
2992 for (i = 0; i < op_array->last; i++) { in zend_jit_setup_hot_counters()
2993 jit_extension->orig_handlers[i] = op_array->opcodes[i].handler; in zend_jit_setup_hot_counters()
2995 ZEND_SET_FUNC_INFO(op_array, (void*)jit_extension); in zend_jit_setup_hot_counters()
2997 zend_jit_setup_hot_counters_ex(op_array, &cfg); in zend_jit_setup_hot_counters()
2999 zend_shared_alloc_register_xlat_entry(op_array->opcodes, jit_extension); in zend_jit_setup_hot_counters()
3006 ZEND_EXT_API int zend_jit_op_array(zend_op_array *op_array, zend_script *script) in zend_jit_op_array() argument
3014 zend_op *opline = op_array->opcodes; in zend_jit_op_array()
3017 ZEND_SET_FUNC_INFO(op_array, NULL); in zend_jit_op_array()
3024 if (!(op_array->fn_flags & ZEND_ACC_HAS_TYPE_HINTS)) { in zend_jit_op_array()
3036 ZEND_SET_FUNC_INFO(op_array, (void*)jit_extension); in zend_jit_op_array()
3038 zend_shared_alloc_register_xlat_entry(op_array->opcodes, jit_extension); in zend_jit_op_array()
3043 zend_op *opline = op_array->opcodes; in zend_jit_op_array()
3046 ZEND_SET_FUNC_INFO(op_array, NULL); in zend_jit_op_array()
3052 if (op_array->function_name) { in zend_jit_op_array()
3053 if (!(op_array->fn_flags & ZEND_ACC_HAS_TYPE_HINTS)) { in zend_jit_op_array()
3065 ZEND_SET_FUNC_INFO(op_array, (void*)jit_extension); in zend_jit_op_array()
3067 zend_shared_alloc_register_xlat_entry(op_array->opcodes, jit_extension); in zend_jit_op_array()
3072 return zend_jit_setup_hot_counters(op_array); in zend_jit_op_array()
3074 return zend_jit_setup_hot_trace_counters(op_array); in zend_jit_op_array()
3076 return zend_real_jit_func(op_array, script, NULL); in zend_jit_op_array()
3168 zend_op_array *op_array; in zend_jit_script() local
3171 ZEND_HASH_MAP_FOREACH_PTR(&ce->function_table, op_array) { in zend_jit_script()
3172 if (!ZEND_FUNC_INFO(op_array)) { in zend_jit_script()
3173 void *jit_extension = zend_shared_alloc_get_xlat_entry(op_array->opcodes); in zend_jit_script()
3176 ZEND_SET_FUNC_INFO(op_array, jit_extension); in zend_jit_script()
3603 static void zend_jit_restart_preloaded_op_array(zend_op_array *op_array) in zend_jit_restart_preloaded_op_array() argument
3605 zend_func_info *func_info = ZEND_FUNC_INFO(op_array); in zend_jit_restart_preloaded_op_array()
3612 zend_jit_restart_hot_trace_counters(op_array); in zend_jit_restart_preloaded_op_array()
3614 zend_jit_restart_hot_counters(op_array); in zend_jit_restart_preloaded_op_array()
3618 zend_op *opline = op_array->opcodes; in zend_jit_restart_preloaded_op_array()
3622 if (!(op_array->fn_flags & ZEND_ACC_HAS_TYPE_HINTS)) { in zend_jit_restart_preloaded_op_array()
3634 if (op_array->num_dynamic_func_defs) { in zend_jit_restart_preloaded_op_array()
3635 for (uint32_t i = 0; i < op_array->num_dynamic_func_defs; i++) { in zend_jit_restart_preloaded_op_array()
3636 zend_jit_restart_preloaded_op_array(op_array->dynamic_func_defs[i]); in zend_jit_restart_preloaded_op_array()
3644 zend_op_array *op_array; in zend_jit_restart_preloaded_script() local
3648 ZEND_HASH_MAP_FOREACH_PTR(&script->script.function_table, op_array) { in zend_jit_restart_preloaded_script()
3649 zend_jit_restart_preloaded_op_array(op_array); in zend_jit_restart_preloaded_script()
3653 ZEND_HASH_MAP_FOREACH_PTR(&ce->function_table, op_array) { in zend_jit_restart_preloaded_script()
3654 if (op_array->type == ZEND_USER_FUNCTION) { in zend_jit_restart_preloaded_script()
3655 zend_jit_restart_preloaded_op_array(op_array); in zend_jit_restart_preloaded_script()