Home
last modified time | relevance | path

Searched refs:op_array (Results 1 – 25 of 76) sorted by relevance

1234

/PHP-7.2/ext/opcache/Optimizer/
H A Dnop_removal.c44 end = op_array->opcodes + op_array->last; in zend_optimizer_nop_removal()
76 op_array->last = new_count; in zend_optimizer_nop_removal()
77 end = op_array->opcodes + op_array->last; in zend_optimizer_nop_removal()
86 op_array->live_range[j].start -= shiftlist[op_array->live_range[j].start]; in zend_optimizer_nop_removal()
87 op_array->live_range[j].end -= shiftlist[op_array->live_range[j].end]; in zend_optimizer_nop_removal()
92 op_array->try_catch_array[j].try_op -= shiftlist[op_array->try_catch_array[j].try_op]; in zend_optimizer_nop_removal()
93 op_array->try_catch_array[j].catch_op -= shiftlist[op_array->try_catch_array[j].catch_op]; in zend_optimizer_nop_removal()
94 if (op_array->try_catch_array[j].finally_op) { in zend_optimizer_nop_removal()
95 op_array->try_catch_array[j].finally_op -= shiftlist[op_array->try_catch_array[j].finally_op]; in zend_optimizer_nop_removal()
96 op_array->try_catch_array[j].finally_end -= shiftlist[op_array->try_catch_array[j].finally_end]; in zend_optimizer_nop_removal()
[all …]
H A Dzend_optimizer.c207 op_array->literals = (zval*)erealloc(op_array->literals, op_array->last_literal * sizeof(zval)); in zend_optimizer_add_literal()
236 Z_CACHE_SLOT(op_array->literals[opline->op1.constant]) = op_array->cache_size; in alloc_cache_slots_op1()
240 Z_CACHE_SLOT(op_array->literals[opline->op2.constant]) = op_array->cache_size; in alloc_cache_slots_op2()
496 op_array->live_range[j] = op_array->live_range[i]; in zend_optimizer_remove_live_range()
550 …memmove(&op_array->live_range[i], &op_array->live_range[i+1], (op_array->last_live_range - i) * si… in zend_optimizer_remove_live_range_ex()
564 zend_op *end = op_array->opcodes + op_array->last; in zend_optimizer_replace_by_const()
648 n = op_array->opcodes + op_array->live_range[brk].end; in zend_optimizer_replace_by_const()
653 n = op_array->opcodes + op_array->last; in zend_optimizer_replace_by_const()
855 func->op_array.filename == op_array->filename) { in zend_optimizer_get_called_func()
873 func->op_array.filename == op_array->filename) { in zend_optimizer_get_called_func()
[all …]
H A Dcompact_vars.c37 for (i = 0; i < op_array->last; i++) { in zend_optimizer_compact_vars()
38 zend_op *opline = &op_array->opcodes[i]; in zend_optimizer_compact_vars()
60 if (num_cvs == op_array->last_var) { in zend_optimizer_compact_vars()
69 for (i = 0; i < op_array->last; i++) { in zend_optimizer_compact_vars()
89 if (op_array->live_range) { in zend_optimizer_compact_vars()
100 names[cv_map[i]] = op_array->vars[i]; in zend_optimizer_compact_vars()
105 efree(op_array->vars); in zend_optimizer_compact_vars()
106 op_array->vars = names; in zend_optimizer_compact_vars()
111 efree(op_array->vars); in zend_optimizer_compact_vars()
112 op_array->vars = NULL; in zend_optimizer_compact_vars()
[all …]
H A Dzend_inference.h43 zval *zv = CRT_CONSTANT_EX(op_array, opline->opN, ssa->rt_constants); \
49 ssa->ops[opline - op_array->opcodes].opN##_use >= 0 && \
72 ssa->ops[opline - op_array->opcodes].opN##_use >= 0 && \
96 ssa->ops[opline - op_array->opcodes].opN##_use >= 0 && \
114 ssa->ops[opline - op_array->opcodes].opN##_use >= 0 && \
132 ssa->ops[opline - op_array->opcodes].opN##_use >= 0 && \
232 #define OP1_INFO() (_ssa_op1_info(op_array, ssa, opline))
233 #define OP2_INFO() (_ssa_op2_info(op_array, ssa, opline))
247 int zend_ssa_find_sccs(const zend_op_array *op_array, zend_ssa *ssa);
260 void zend_init_func_return_info(const zend_op_array *op_array,
[all …]
H A Dcompact_literals.c160 op_array); in zend_optimizer_compact_literals()
200 op_array); in zend_optimizer_compact_literals()
359 op_array->literals[j] = op_array->literals[i]; in zend_optimizer_compact_literals()
368 op_array->literals[j] = op_array->literals[i]; in zend_optimizer_compact_literals()
378 op_array->literals[j] = op_array->literals[i]; in zend_optimizer_compact_literals()
389 op_array->literals[j] = op_array->literals[i]; in zend_optimizer_compact_literals()
404 op_array->literals[j] = op_array->literals[i]; in zend_optimizer_compact_literals()
418 op_array->literals[j] = op_array->literals[i]; in zend_optimizer_compact_literals()
471 op_array->literals[j] = op_array->literals[i]; in zend_optimizer_compact_literals()
493 op_array->literals[j] = op_array->literals[i]; in zend_optimizer_compact_literals()
[all …]
H A Dzend_optimizer_internal.h55 op.constant = zend_optimizer_add_literal(op_array, &_c); \
61 op.constant = zend_optimizer_add_literal(op_array, &_c); \
74 int zend_optimizer_add_literal(zend_op_array *op_array, zval *zv);
82 int zend_optimizer_update_op1_const(zend_op_array *op_array,
85 int zend_optimizer_update_op2_const(zend_op_array *op_array,
88 int zend_optimizer_replace_by_const(zend_op_array *op_array,
97 void zend_optimizer_pass2(zend_op_array *op_array);
98 void zend_optimizer_pass3(zend_op_array *op_array);
100 void zend_optimize_cfg(zend_op_array *op_array, zend_optimizer_ctx *ctx);
105 void zend_optimizer_nop_removal(zend_op_array *op_array);
[all …]
H A Ddfa_pass.c46 if (op_array->last_try_catch) { in zend_dfa_analyze_op_array()
177 i + 1 < op_array->last && in zend_ssa_remove_nops()
182 op_array->opcodes[target] = op_array->opcodes[i]; in zend_ssa_remove_nops()
212 if (target != op_array->last) { in zend_ssa_remove_nops()
215 MAKE_NOP(op_array->opcodes + i); in zend_ssa_remove_nops()
249 op_array->live_range[j].start -= shiftlist[op_array->live_range[j].start]; in zend_ssa_remove_nops()
250 op_array->live_range[j].end -= shiftlist[op_array->live_range[j].end]; in zend_ssa_remove_nops()
255 op_array->try_catch_array[j].try_op -= shiftlist[op_array->try_catch_array[j].try_op]; in zend_ssa_remove_nops()
256 op_array->try_catch_array[j].catch_op -= shiftlist[op_array->try_catch_array[j].catch_op]; in zend_ssa_remove_nops()
258 op_array->try_catch_array[j].finally_op -= shiftlist[op_array->try_catch_array[j].finally_op]; in zend_ssa_remove_nops()
[all …]
H A Dzend_dump.c320 zend_dump_var(op_array, (var_num < op_array->last_var ? IS_CV : var_type), var_num); in zend_dump_ssa_var()
808 if (op_array->function_name) { in zend_dump_op_array_name()
809 if (op_array->scope && op_array->scope->name) { in zend_dump_op_array_name()
810 fprintf(stderr, "%s::%s", op_array->scope->name->val, op_array->function_name->val); in zend_dump_op_array_name()
848 op_array->last, in zend_dump_op_array()
849 op_array->num_args); in zend_dump_op_array()
853 fprintf(stderr, ", vars=%d, tmps=%d", op_array->last_var, op_array->T); in zend_dump_op_array()
902 …fprintf(stderr, " ; %s:%u-%u\n", op_array->filename->val, op_array->line_start, op_array->line_… in zend_dump_op_array()
979 if (op_array->last_try_catch) { in zend_dump_op_array()
1035 if (op_array->last_try_catch) { in zend_dump_op_array()
[all …]
H A Dzend_call_graph.c36 (void) op_array; in zend_op_array_calc()
46 ZEND_SET_FUNC_INFO(op_array, func_info); in zend_op_array_collect()
58 zend_op_array *op_array; in zend_foreach_op_array() local
72 if (op_array->scope == ce) { in zend_foreach_op_array()
85 zend_op *opline = op_array->opcodes; in zend_analyze_calls()
86 zend_op *end = opline + op_array->last; in zend_analyze_calls()
105 call_info->caller_op_array = op_array; in zend_analyze_calls()
188 if (op_array == root) { in zend_is_indirectly_recursive()
192 func_info = ZEND_FUNC_INFO(op_array); in zend_is_indirectly_recursive()
210 zend_op_array *op_array; in zend_analyze_recursion() local
[all …]
H A Doptimize_func_calls.c98 && func->op_array.opcodes[func->op_array.num_args].opcode == ZEND_RETURN) { in zend_try_inline_call()
100 zend_op *ret_opline = func->op_array.opcodes + func->op_array.num_args; in zend_try_inline_call()
103 uint32_t i, num_args = func->op_array.num_args; in zend_try_inline_call()
126 if (Z_CONSTANT_P(RT_CONSTANT(&func->op_array, func->op_array.opcodes[i].op2))) { in zend_try_inline_call()
130 } while (i < func->op_array.num_args); in zend_try_inline_call()
152 zend_op *opline = op_array->opcodes; in zend_optimize_func_calls()
153 zend_op *end = opline + op_array->last; in zend_optimize_func_calls()
158 if (op_array->last < 2) { in zend_optimize_func_calls()
173 ctx->script, op_array, opline, 0); in zend_optimize_func_calls()
194 …Z_CACHE_SLOT(op_array->literals[fcall->op2.constant + 1]) = Z_CACHE_SLOT(op_array->literals[fcall-… in zend_optimize_func_calls()
[all …]
H A Dzend_cfg.c113 if (op_array->last_live_range || op_array->last_try_catch) { in zend_mark_reachable_blocks()
188 op_array->try_catch_array[j].try_op = op_array->try_catch_array[j].catch_op; in zend_mark_reachable_blocks()
190 …zend_mark_reachable(op_array->opcodes, cfg, blocks + block_map[op_array->try_catch_array[j].try_op… in zend_mark_reachable_blocks()
304 for (i = 0; i < op_array->last; i++) { in zend_build_cfg()
318 if (i + 1 < op_array->last) { in zend_build_cfg()
361 if (i + 1 < op_array->last) { in zend_build_cfg()
367 if (i + 1 < op_array->last) { in zend_build_cfg()
374 if (i + 1 < op_array->last) { in zend_build_cfg()
457 BB_START(op_array->live_range[j].end); in zend_build_cfg()
461 if (op_array->last_try_catch) { in zend_build_cfg()
[all …]
H A Dzend_dump.h33 void zend_dump_op_array(const zend_op_array *op_array, uint32_t dump_flags, const char *msg, const …
34 void zend_dump_dominators(const zend_op_array *op_array, const zend_cfg *cfg);
35 void zend_dump_dfg(const zend_op_array *op_array, const zend_cfg *cfg, const zend_dfg *dfg);
36 void zend_dump_phi_placement(const zend_op_array *op_array, const zend_ssa *ssa);
37 void zend_dump_variables(const zend_op_array *op_array);
38 void zend_dump_ssa_variables(const zend_op_array *op_array, const zend_ssa *ssa, uint32_t dump_flag…
39 void zend_dump_var(const zend_op_array *op_array, zend_uchar var_type, int var_num);
H A Ddce.c49 zend_op_array *op_array; member
73 zend_op_array *op_array, zend_ssa *ssa, in may_have_side_effects() argument
558 while (i < op_array->last_live_range) { in dce_live_ranges()
619 op_array->last_live_range = j; in dce_live_ranges()
620 if (op_array->last_live_range == 0) { in dce_live_ranges()
621 efree(op_array->live_range); in dce_live_ranges()
622 op_array->live_range = NULL; in dce_live_ranges()
636 ctx.op_array = op_array; in dce_optimize_op_array()
671 || zend_may_throw(&op_array->opcodes[i], op_array, ssa) in dce_optimize_op_array()
695 if (op_array->live_range) { in dce_optimize_op_array()
[all …]
H A Doptimize_temp_vars_5.c44 int T = op_array->T; in zend_optimize_temporary_variables()
45 int offset = op_array->last_var; in zend_optimize_temporary_variables()
64 end = op_array->opcodes; in zend_optimize_temporary_variables()
65 opline = &op_array->opcodes[op_array->last - 1]; in zend_optimize_temporary_variables()
78 end = op_array->opcodes; in zend_optimize_temporary_variables()
79 opline = &op_array->opcodes[op_array->last - 1]; in zend_optimize_temporary_variables()
191 if (op_array->live_range) { in zend_optimize_temporary_variables()
192 for (i = 0; i < op_array->last_live_range; i++) { in zend_optimize_temporary_variables()
193 op_array->live_range[i].var = in zend_optimize_temporary_variables()
195 (op_array->live_range[i].var & ZEND_LIVE_MASK); in zend_optimize_temporary_variables()
[all …]
H A Dzend_cfg.h112 #define CRT_CONSTANT_EX(op_array, node, rt_constants) \ argument
114 RT_CONSTANT(op_array, (node)) \
116 CT_CONSTANT_EX(op_array, (node).constant) \
120 CRT_CONSTANT_EX(op_array, node, (build_flags & ZEND_RT_CONSTANTS))
127 int zend_build_cfg(zend_arena **arena, const zend_op_array *op_array, uint32_t build_flags, zend_c…
128 void zend_cfg_remark_reachable_blocks(const zend_op_array *op_array, zend_cfg *cfg);
130 int zend_cfg_compute_dominators_tree(const zend_op_array *op_array, zend_cfg *cfg);
131 int zend_cfg_identify_loops(const zend_op_array *op_array, zend_cfg *cfg, uint32_t *flags);
H A Dpass1_5.c43 zend_op *opline = op_array->opcodes; in zend_optimizer_pass1()
44 zend_op *end = opline + op_array->last; in zend_optimizer_pass1()
46 (op_array == &ctx->script->main_op_array) : 0; in zend_optimizer_pass1()
218 fake_execute_data.func = (zend_function*)op_array; in zend_optimizer_pass1()
270 if (op_array->scope && in zend_optimizer_pass1()
273 ce = op_array->scope; in zend_optimizer_pass1()
280 ce->info.user.filename != op_array->filename)) { in zend_optimizer_pass1()
284 } else if (op_array->scope && in zend_optimizer_pass1()
288 ce = op_array->scope; in zend_optimizer_pass1()
289 } else if (op_array->scope && in zend_optimizer_pass1()
[all …]
H A Dblock_pass.c122 op_array->opcodes[j] = op_array->opcodes[i]; in strip_nops()
938 op_array->last = len; in assemble_code_blocks()
1071 op_array->live_range[j] = op_array->live_range[i]; in assemble_code_blocks()
1422 int var_num = op_array->last_var + op_array->T; in zend_jmp_optimization()
1611 if (op_array->T == 0) { in zend_t_usage()
1617 bitset_len = zend_bitset_len(op_array->last_var + op_array->T); in zend_t_usage()
1684 for (i = op_array->last_var; i< op_array->T; i++) { in zend_t_usage()
1908 if (op_array->last_var || op_array->T) { in zend_optimize_cfg()
1909 bitset_len = zend_bitset_len(op_array->last_var + op_array->T); in zend_optimize_cfg()
1911 same_t = zend_arena_alloc(&ctx->arena, op_array->last_var + op_array->T); in zend_optimize_cfg()
[all …]
H A Dzend_func_info.h42 #define ZEND_FUNC_INFO(op_array) \ argument
43 ((zend_func_info*)((op_array)->reserved[zend_func_info_rid]))
45 #define ZEND_SET_FUNC_INFO(op_array, info) do { \ argument
46 zend_func_info** pinfo = (zend_func_info**)&(op_array)->reserved[zend_func_info_rid]; \
/PHP-7.2/Zend/
H A Dzend_opcode.c49 op_array->opcodes = erealloc(op_array->opcodes, size * sizeof(zend_op)); in op_array_alloc_ops()
54 op_array->type = type; in init_op_array()
61 op_array->last = 0; in init_op_array()
68 op_array->T = 0; in init_op_array()
384 if (op_array->run_time_cache && !op_array->function_name) { in destroy_op_array()
389 if (!op_array->refcount || --(*op_array->refcount) > 0) { in destroy_op_array()
393 efree_size(op_array->refcount, sizeof(*(op_array->refcount))); in destroy_op_array()
492 zend_op *opline = op_array->opcodes, *end=opline+op_array->last; in zend_update_extended_info()
576op_array->vars = (zend_string**) erealloc(op_array->vars, sizeof(zend_string*)*op_array->last_var); in pass_two()
580 op_array->opcodes = (zend_op *) erealloc(op_array->opcodes, sizeof(zend_op)*op_array->last); in pass_two()
[all …]
H A Dzend_compile.h451 zend_op_array op_array; member
610 # define CT_CONSTANT_EX(op_array, num) \ argument
611 ((op_array)->literals + (num))
655 # define EX_LOAD_LITERALS(op_array) do { \ argument
656 EX(literals) = (op_array)->literals; \
662 EX(func)->op_array.literals
664 # define EX_LOAD_LITERALS(op_array) do { \ argument
670 #define RT_CONSTANT(op_array, node) \ argument
671 RT_CONSTANT_EX((op_array)->literals, node)
689 EX(func)->op_array.run_time_cache
[all …]
/PHP-7.2/ext/opcache/
H A Dzend_persist_calc.c182 if (op_array->literals) { in zend_persist_op_array_calc_ex()
183 zval *p = op_array->literals; in zend_persist_op_array_calc_ex()
185 ADD_DUP_SIZE(op_array->literals, sizeof(zval) * op_array->last_literal); in zend_persist_op_array_calc_ex()
192 ADD_DUP_SIZE(op_array->opcodes, sizeof(zend_op) * op_array->last); in zend_persist_op_array_calc_ex()
194 if (op_array->function_name) { in zend_persist_op_array_calc_ex()
206 if (op_array->filename) { in zend_persist_op_array_calc_ex()
210 if (op_array->arg_info) { in zend_persist_op_array_calc_ex()
238 if (op_array->live_range) { in zend_persist_op_array_calc_ex()
239 ADD_DUP_SIZE(op_array->live_range, sizeof(zend_live_range) * op_array->last_live_range); in zend_persist_op_array_calc_ex()
250 if (op_array->vars) { in zend_persist_op_array_calc_ex()
[all …]
H A Dzend_persist.c366 if (op_array->refcount && --(*op_array->refcount) == 0) { in zend_persist_op_array_ex()
405 if (op_array->literals) { in zend_persist_op_array_ex()
414 op_array->literals = p; in zend_persist_op_array_ex()
488 if (op_array->function_name && !IS_ACCEL_INTERNED(op_array->function_name)) { in zend_persist_op_array_ex()
499 if (op_array->filename) { in zend_persist_op_array_ex()
545 if (op_array->scope) { in zend_persist_op_array_ex()
546 op_array->scope = zend_shared_alloc_get_xlat_entry(op_array->scope); in zend_persist_op_array_ex()
569 if (op_array->vars) { in zend_persist_op_array_ex()
576 zend_accel_store(op_array->vars, sizeof(zend_string*) * op_array->last_var); in zend_persist_op_array_ex()
584 if (op_array->scope && op_array->prototype) { in zend_persist_op_array_ex()
[all …]
H A Dzend_file_cache.c371 if (op_array->static_variables && !IS_SERIALIZED(op_array->static_variables)) {
380 if (op_array->scope && !IS_SERIALIZED(op_array->opcodes)) {
396 zend_shared_alloc_register_xlat_entry(op_array->opcodes, op_array->opcodes);
399 if (op_array->literals && !IS_SERIALIZED(op_array->literals)) {
403 p = op_array->literals;
492 if (op_array->vars) {
496 p = op_array->vars;
525 op_array = Z_PTR_P(zv);
1050 if (op_array->literals && !IS_UNSERIALIZED(op_array->literals)) {
1137 if (op_array->vars) {
[all …]
/PHP-7.2/sapi/phpdbg/
H A Dphpdbg_print.c57 zend_op_array* op_array = &(method->op_array); in phpdbg_print_function_helper() local
59 if (op_array) { in phpdbg_print_function_helper()
62 end = op_array->last-1; in phpdbg_print_function_helper()
66 op_array->line_start, in phpdbg_print_function_helper()
67 op_array->line_end, in phpdbg_print_function_helper()
70 op_array->filename ? ZSTR_VAL(op_array->filename) : "unknown", in phpdbg_print_function_helper()
72 op_array->last); in phpdbg_print_function_helper()
75 op_array->line_start, in phpdbg_print_function_helper()
76 op_array->line_end, in phpdbg_print_function_helper()
78 op_array->filename ? ZSTR_VAL(op_array->filename) : "unknown", in phpdbg_print_function_helper()
[all …]
H A Dphpdbg_opcode.c153 char *decode = phpdbg_decode_opline(&execute_data->func->op_array, opline); in phpdbg_print_opline_ex()
161 …execute_data->func->op_array.filename ? ZSTR_VAL(execute_data->func->op_array.filename) : "unknown… in phpdbg_print_opline_ex()
169 …execute_data->func->op_array.filename ? ZSTR_VAL(execute_data->func->op_array.filename) : "unknown… in phpdbg_print_opline_ex()
177 zend_op_array *op_array = &execute_data->func->op_array; in phpdbg_print_opline_ex() local
179 cur->opcodes = op_array->opcodes; in phpdbg_print_opline_ex()
180 cur->filename = op_array->filename; in phpdbg_print_opline_ex()
181 cur->scope = op_array->scope; in phpdbg_print_opline_ex()
182 cur->function_name = op_array->function_name; in phpdbg_print_opline_ex()

Completed in 88 milliseconds

1234