/PHP-7.4/Zend/ |
H A D | zend_execute.c | 3939 …_range *find_live_range(const zend_op_array *op_array, uint32_t op_num, uint32_t var_num) /* {{{ */ in find_live_range() argument 3945 && var_num == (range->var & ~ZEND_LIVE_MASK)) { in find_live_range() 3965 uint32_t var_num = range->var & ~ZEND_LIVE_MASK; in cleanup_live_vars() local 3966 zval *var = EX_VAR(var_num); in cleanup_live_vars() 3985 || last->result.var != var_num) { in cleanup_live_vars()
|
H A D | zend_compile.c | 58 uint32_t var_num; member 653 info.var_num = loop_var->u.op.var; in zend_begin_loop() 4211 opline->result.var = loop_var->var_num; in zend_handle_loops_and_finally_ex() 4220 opline->op1.var = loop_var->var_num; in zend_handle_loops_and_finally_ex() 4236 opline->op1.var = loop_var->var_num; in zend_handle_loops_and_finally_ex() 4992 fast_call.var_num = CG(context).fast_call_var; in zend_compile_try() 5089 discard_exception.var_num = CG(context).fast_call_var; in zend_compile_try()
|
H A D | zend_generators.c | 398 uint32_t var_num = range->var & ~ZEND_LIVE_MASK; in zend_generator_get_gc() local 399 zval *var = EX_VAR(var_num); in zend_generator_get_gc()
|
H A D | zend_opcode.c | 723 emit_live_range_raw(op_array, var_num, kind, start, end); in emit_live_range() 790 if (EXPECTED(last_use[var_num] != (uint32_t) -1)) { in zend_calc_live_ranges() 792 if (opnum + 1 != last_use[var_num]) { in zend_calc_live_ranges() 803 emit_live_range(op_array, var_num, num, last_use[var_num], needs_live_range); in zend_calc_live_ranges() 805 last_use[var_num] = (uint32_t) -1; in zend_calc_live_ranges() 811 if (EXPECTED(last_use[var_num] == (uint32_t) -1)) { in zend_calc_live_ranges() 823 if (last_use[var_num] != (uint32_t) -1) { in zend_calc_live_ranges() 824 if (opnum + 1 != last_use[var_num]) { in zend_calc_live_ranges() 826 op_array, var_num, opnum, last_use[var_num], needs_live_range); in zend_calc_live_ranges() 828 last_use[var_num] = (uint32_t) -1; in zend_calc_live_ranges() [all …]
|
/PHP-7.4/ext/opcache/Optimizer/ |
H A D | sccp.c | 2170 static zval *value_from_type_and_range(sccp_ctx *ctx, int var_num, zval *tmp) { in value_from_type_and_range() argument 2172 zend_ssa_var_info *info = &ssa->var_info[var_num]; in value_from_type_and_range() 2174 if (ssa->vars[var_num].var >= ctx->scdf.op_array->last_var) { in value_from_type_and_range() 2250 static int try_remove_definition(sccp_ctx *ctx, int var_num, zend_ssa_var *var, zval *value) in try_remove_definition() argument 2265 if (ssa_op->result_def == var_num) { in try_remove_definition() 2301 ssa_op->result_def = var_num; in try_remove_definition() 2327 } else if (ssa_op->op1_def == var_num) { in try_remove_definition()
|
H A D | zend_ssa.c | 172 …zend_op_array *op_array, uint32_t build_flags, zend_op *opline, uint32_t var_num, zend_long *adjus… in find_adjusted_tmp_var() argument 179 if (op->result_type != IS_TMP_VAR || op->result.var != var_num) { in find_adjusted_tmp_var() 1295 int j, var_num = phi->sources[pred_offset]; in zend_ssa_remove_phi_source() local 1307 if (phi->sources[j] == var_num) { in zend_ssa_remove_phi_source() 1318 zend_ssa_remove_use_of_phi_source(ssa, phi, var_num, next_phi); in zend_ssa_remove_phi_source() 1334 void zend_ssa_remove_uses_of_var(zend_ssa *ssa, int var_num) /* {{{ */ in zend_ssa_remove_uses_of_var() argument 1336 zend_ssa_var *var = &ssa->vars[var_num]; in zend_ssa_remove_uses_of_var() 1342 if (phi->sources[i] == var_num) { in zend_ssa_remove_uses_of_var() 1350 if (ssa_op->op1_use == var_num) { in zend_ssa_remove_uses_of_var() 1354 if (ssa_op->op2_use == var_num) { in zend_ssa_remove_uses_of_var() [all …]
|
H A D | zend_inference.c | 3875 const zend_op_array *op_array, zend_ssa *ssa, int var_num, in can_convert_to_double() argument 3877 zend_ssa_var *var = &ssa->vars[var_num]; in can_convert_to_double() 3882 if (zend_bitset_in(visited, var_num)) { in can_convert_to_double() 3885 zend_bitset_incl(visited, var_num); in can_convert_to_double() 3887 for (use = var->use_chain; use >= 0; use = zend_ssa_next_use(ssa->ops, var_num, use)) { in can_convert_to_double() 3891 if (zend_ssa_is_no_val_use(opline, ssa_op, var_num)) { in can_convert_to_double() 3924 if (ssa_op->op1_use == var_num) { in can_convert_to_double() 3937 if (ssa_op->op2_use == var_num) { in can_convert_to_double() 3991 for (phi = var->phi_use_chain; phi; phi = zend_ssa_next_use_phi(ssa, var_num, phi)) { in can_convert_to_double()
|
H A D | dce.c | 251 zend_ssa_var *var = &ctx->ssa->vars[var_num]; in add_to_worklists() 257 if (!check || zend_bitset_in(ctx->phi_dead, var_num)) { in add_to_worklists() 258 zend_bitset_incl(ctx->phi_worklist, var_num); in add_to_worklists() 263 static inline void add_to_phi_worklist_no_val(context *ctx, int var_num) { in add_to_phi_worklist_no_val() argument 264 zend_ssa_var *var = &ctx->ssa->vars[var_num]; in add_to_phi_worklist_no_val() 265 if (var->definition_phi && zend_bitset_in(ctx->phi_dead, var_num)) { in add_to_phi_worklist_no_val() 266 zend_bitset_incl(ctx->phi_worklist_no_val, var_num); in add_to_phi_worklist_no_val() 302 static inline zend_bool is_var_dead(context *ctx, int var_num) { in is_var_dead() argument 303 zend_ssa_var *var = &ctx->ssa->vars[var_num]; in is_var_dead() 305 return zend_bitset_in(ctx->phi_dead, var_num); in is_var_dead() [all …]
|
H A D | block_pass.c | 1416 if (var_num <= 0) { in zend_jmp_optimization() 1419 memset(same_t, 0, var_num); in zend_jmp_optimization() 1610 uint32_t var_num; in zend_t_usage() local 1645 var_num = VAR_NUM(opline->op1.var); in zend_t_usage() 1647 zend_bitset_incl(used_ext, var_num); in zend_t_usage() 1651 var_num = VAR_NUM(opline->op2.var); in zend_t_usage() 1657 zend_bitset_incl(used_ext, var_num); in zend_t_usage() 1660 var_num = VAR_NUM(opline->op2.var); in zend_t_usage() 1662 zend_bitset_incl(used_ext, var_num); in zend_t_usage() 1667 var_num = VAR_NUM(opline->result.var); in zend_t_usage() [all …]
|
H A D | dfa_pass.c | 467 int var_num = ssa_op->op1_use; in zend_dfa_optimize_calls() local 468 zend_ssa_var *var = ssa->vars + var_num; in zend_dfa_optimize_calls() 476 ssa_op->op1_use = var_num; in zend_dfa_optimize_calls()
|
H A D | zend_ssa.h | 153 void zend_ssa_remove_uses_of_var(zend_ssa *ssa, int var_num);
|
H A D | zend_dump.c | 139 void zend_dump_var(const zend_op_array *op_array, zend_uchar var_type, int var_num) in zend_dump_var() argument 141 if (var_type == IS_CV && var_num < op_array->last_var) { in zend_dump_var() 142 fprintf(stderr, "CV%d($%s)", var_num, op_array->vars[var_num]->val); in zend_dump_var() 144 fprintf(stderr, "V%d", var_num); in zend_dump_var() 146 fprintf(stderr, "T%d", var_num); in zend_dump_var() 148 fprintf(stderr, "X%d", var_num); in zend_dump_var() 339 …op_array, const zend_ssa *ssa, int ssa_var_num, zend_uchar var_type, int var_num, uint32_t dump_fl… in zend_dump_ssa_var() argument 346 zend_dump_var(op_array, (var_num < op_array->last_var ? IS_CV : var_type), var_num); in zend_dump_ssa_var()
|
H A D | zend_dfg.c | 30 uint32_t var_num; in zend_build_dfg() local 57 DFG_SET(use, set_size, j, var_num); in zend_build_dfg() 58 DFG_SET(def, set_size, j, var_num); in zend_build_dfg() 61 DFG_SET(use, set_size, j, var_num); in zend_build_dfg() 68 DFG_SET(use, set_size, j, var_num); in zend_build_dfg() 139 DFG_SET(use, set_size, j, var_num); in zend_build_dfg() 140 DFG_SET(def, set_size, j, var_num); in zend_build_dfg() 151 DFG_SET(use, set_size, j, var_num); in zend_build_dfg() 154 DFG_SET(def, set_size, j, var_num); in zend_build_dfg() 188 DFG_SET(def, set_size, j, var_num); in zend_build_dfg() [all …]
|
H A D | scdf.h | 55 static inline void scdf_add_to_worklist(scdf_ctx *scdf, int var_num) { in scdf_add_to_worklist() argument 57 zend_ssa_var *var = &ssa->vars[var_num]; in scdf_add_to_worklist() 69 static inline void scdf_add_def_to_worklist(scdf_ctx *scdf, int var_num) { in scdf_add_def_to_worklist() argument 70 zend_ssa_var *var = &scdf->ssa->vars[var_num]; in scdf_add_def_to_worklist() 74 zend_bitset_incl(scdf->phi_var_worklist, var_num); in scdf_add_def_to_worklist()
|
H A D | zend_dfg.h | 38 #define DFG_SET(set, set_size, block_num, var_num) \ argument 39 zend_bitset_incl(DFG_BITSET(set, set_size, block_num), (var_num)) 41 #define DFG_ISSET(set, set_size, block_num, var_num) \ argument 42 zend_bitset_in(DFG_BITSET(set, set_size, block_num), (var_num))
|
H A D | zend_dump.h | 40 void zend_dump_var(const zend_op_array *op_array, zend_uchar var_type, int var_num);
|