/PHP-7.1/Zend/ |
H A D | zend_opcode.c | 49 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() 374 if (op_array->run_time_cache && !op_array->function_name) { in destroy_op_array() 379 if (!op_array->refcount || --(*op_array->refcount) > 0) { in destroy_op_array() 383 efree_size(op_array->refcount, sizeof(*(op_array->refcount))); in destroy_op_array() 482 zend_op *opline = op_array->opcodes, *end=opline+op_array->last; in zend_update_extended_info() 566 …op_array->vars = (zend_string**) erealloc(op_array->vars, sizeof(zend_string*)*op_array->last_var); in pass_two() 570 op_array->opcodes = (zend_op *) erealloc(op_array->opcodes, sizeof(zend_op)*op_array->last); in pass_two() [all …]
|
H A D | zend_compile.h | 438 zend_op_array op_array; member 596 # define CT_CONSTANT_EX(op_array, num) \ argument 597 ((op_array)->literals + (num)) 641 # define EX_LOAD_LITERALS(op_array) do { \ argument 642 EX(literals) = (op_array)->literals; \ 648 EX(func)->op_array.literals 650 # define EX_LOAD_LITERALS(op_array) do { \ argument 656 #define RT_CONSTANT(op_array, node) \ argument 657 RT_CONSTANT_EX((op_array)->literals, node) 675 EX(func)->op_array.run_time_cache [all …]
|
H A D | zend_extensions.h | 68 typedef void (*op_array_handler_func_t)(zend_op_array *op_array); 74 typedef void (*op_array_ctor_func_t)(zend_op_array *op_array); 75 typedef void (*op_array_dtor_func_t)(zend_op_array *op_array); 76 typedef size_t (*op_array_persist_calc_func_t)(zend_op_array *op_array); 77 typedef size_t (*op_array_persist_func_t)(zend_op_array *op_array, void *mem); 150 ZEND_API size_t zend_extensions_op_array_persist_calc(zend_op_array *op_array); 151 ZEND_API size_t zend_extensions_op_array_persist(zend_op_array *op_array, void *mem);
|
/PHP-7.1/ext/opcache/Optimizer/ |
H A D | nop_removal.c | 44 end = op_array->opcodes + op_array->last; in zend_optimizer_nop_removal() 106 op_array->last = new_count; in zend_optimizer_nop_removal() 107 end = op_array->opcodes + op_array->last; in zend_optimizer_nop_removal() 142 op_array->live_range[j].start -= shiftlist[op_array->live_range[j].start]; in zend_optimizer_nop_removal() 143 op_array->live_range[j].end -= shiftlist[op_array->live_range[j].end]; in zend_optimizer_nop_removal() 148 op_array->try_catch_array[j].try_op -= shiftlist[op_array->try_catch_array[j].try_op]; in zend_optimizer_nop_removal() 149 op_array->try_catch_array[j].catch_op -= shiftlist[op_array->try_catch_array[j].catch_op]; in zend_optimizer_nop_removal() 150 if (op_array->try_catch_array[j].finally_op) { in zend_optimizer_nop_removal() 151 op_array->try_catch_array[j].finally_op -= shiftlist[op_array->try_catch_array[j].finally_op]; in zend_optimizer_nop_removal() 152 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 D | zend_optimizer.c | 81 i = op_array->last_var; in zend_optimizer_lookup_cv() 82 op_array->last_var++; in zend_optimizer_lookup_cv() 83 op_array->vars = erealloc(op_array->vars, op_array->last_var * sizeof(zend_string*)); in zend_optimizer_lookup_cv() 111 op_array->literals = (zval*)erealloc(op_array->literals, op_array->last_literal * sizeof(zval)); in zend_optimizer_add_literal() 140 Z_CACHE_SLOT(op_array->literals[opline->op1.constant]) = op_array->cache_size; in alloc_cache_slots_op1() 387 op_array->live_range[j] = op_array->live_range[i]; in zend_optimizer_remove_live_range() 420 zend_op *end = op_array->opcodes + op_array->last; in zend_optimizer_replace_by_const() 494 n = op_array->opcodes + op_array->live_range[brk].end; in zend_optimizer_replace_by_const() 499 n = op_array->opcodes + op_array->last; in zend_optimizer_replace_by_const() 608 func->op_array.filename == op_array->filename) { in zend_optimizer_get_called_func() [all …]
|
H A D | zend_inference.h | 40 zval *zv = CRT_CONSTANT_EX(op_array, opline->opN, ssa->rt_constants); \ 46 ssa->ops[opline - op_array->opcodes].opN##_use >= 0 && \ 69 ssa->ops[opline - op_array->opcodes].opN##_use >= 0 && \ 93 ssa->ops[opline - op_array->opcodes].opN##_use >= 0 && \ 111 ssa->ops[opline - op_array->opcodes].opN##_use >= 0 && \ 129 ssa->ops[opline - op_array->opcodes].opN##_use >= 0 && \ 228 #define OP1_INFO() (_ssa_op1_info(op_array, ssa, opline)) 229 #define OP2_INFO() (_ssa_op2_info(op_array, ssa, opline)) 243 int zend_ssa_find_sccs(const zend_op_array *op_array, zend_ssa *ssa); 256 void zend_init_func_return_info(const zend_op_array *op_array, [all …]
|
H A D | dfa_pass.c | 38 if (op_array->last_try_catch) { in zend_dfa_analyze_op_array() 150 i + 1 < op_array->last && in zend_ssa_remove_nops() 155 op_array->opcodes[target] = op_array->opcodes[i]; in zend_ssa_remove_nops() 208 if (target != op_array->last) { in zend_ssa_remove_nops() 211 MAKE_NOP(op_array->opcodes + i); in zend_ssa_remove_nops() 272 op_array->live_range[j].start -= shiftlist[op_array->live_range[j].start]; in zend_ssa_remove_nops() 273 op_array->live_range[j].end -= shiftlist[op_array->live_range[j].end]; in zend_ssa_remove_nops() 278 op_array->try_catch_array[j].try_op -= shiftlist[op_array->try_catch_array[j].try_op]; in zend_ssa_remove_nops() 279 op_array->try_catch_array[j].catch_op -= shiftlist[op_array->try_catch_array[j].catch_op]; in zend_ssa_remove_nops() 281 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 D | compact_literals.c | 159 op_array); in zend_optimizer_compact_literals() 173 op_array); in zend_optimizer_compact_literals() 199 op_array); in zend_optimizer_compact_literals() 358 op_array->literals[j] = op_array->literals[i]; in zend_optimizer_compact_literals() 367 op_array->literals[j] = op_array->literals[i]; in zend_optimizer_compact_literals() 377 op_array->literals[j] = op_array->literals[i]; in zend_optimizer_compact_literals() 388 op_array->literals[j] = op_array->literals[i]; in zend_optimizer_compact_literals() 403 op_array->literals[j] = op_array->literals[i]; in zend_optimizer_compact_literals() 417 op_array->literals[j] = op_array->literals[i]; in zend_optimizer_compact_literals() 470 op_array->literals[j] = op_array->literals[i]; in zend_optimizer_compact_literals() [all …]
|
H A D | zend_optimizer_internal.h | 60 op.constant = zend_optimizer_add_literal(op_array, &_c); \ 66 op.constant = zend_optimizer_add_literal(op_array, &_c); \ 79 int zend_optimizer_add_literal(zend_op_array *op_array, zval *zv); 84 int zend_optimizer_update_op1_const(zend_op_array *op_array, 87 int zend_optimizer_update_op2_const(zend_op_array *op_array, 90 int zend_optimizer_replace_by_const(zend_op_array *op_array, 98 void zend_optimizer_pass2(zend_op_array *op_array); 99 void zend_optimizer_pass3(zend_op_array *op_array); 101 void zend_optimize_cfg(zend_op_array *op_array, zend_optimizer_ctx *ctx); 102 void zend_optimize_dfa(zend_op_array *op_array, zend_optimizer_ctx *ctx); [all …]
|
H A D | zend_dump.c | 320 zend_dump_var(op_array, (var_num < op_array->last_var ? IS_CV : var_type), var_num); in zend_dump_ssa_var() 793 if (op_array->function_name) { in zend_dump_op_array_name() 794 if (op_array->scope && op_array->scope->name) { in zend_dump_op_array_name() 795 fprintf(stderr, "%s::%s", op_array->scope->name->val, op_array->function_name->val); in zend_dump_op_array_name() 833 op_array->last, in zend_dump_op_array() 834 op_array->num_args); in zend_dump_op_array() 838 fprintf(stderr, ", vars=%d, tmps=%d", op_array->last_var, op_array->T); in zend_dump_op_array() 887 …fprintf(stderr, " ; %s:%u-%u\n", op_array->filename->val, op_array->line_start, op_array->line_… in zend_dump_op_array() 964 if (op_array->last_try_catch) { in zend_dump_op_array() 1020 if (op_array->last_try_catch) { in zend_dump_op_array() [all …]
|
H A D | zend_call_graph.c | 36 (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() 185 if (op_array == root) { in zend_is_indirectly_recursive() 189 func_info = ZEND_FUNC_INFO(op_array); in zend_is_indirectly_recursive() 207 zend_op_array *op_array; in zend_analyze_recursion() local [all …]
|
H A D | optimize_func_calls.c | 98 && 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 D | zend_cfg.c | 100 if (op_array->last_live_range || op_array->last_try_catch) { in zend_mark_reachable_blocks() 176 op_array->try_catch_array[j].try_op = op_array->try_catch_array[j].catch_op; in zend_mark_reachable_blocks() 178 …zend_mark_reachable(op_array->opcodes, cfg, blocks + block_map[op_array->try_catch_array[j].try_op… in zend_mark_reachable_blocks() 300 for (i = 0; i < op_array->last; i++) { in zend_build_cfg() 314 if (i + 1 < op_array->last) { in zend_build_cfg() 357 if (i + 1 < op_array->last) { in zend_build_cfg() 363 if (i + 1 < op_array->last) { in zend_build_cfg() 370 if (i + 1 < op_array->last) { in zend_build_cfg() 439 BB_START(op_array->live_range[j].end); in zend_build_cfg() 443 if (op_array->last_try_catch) { in zend_build_cfg() [all …]
|
H A D | zend_dump.h | 33 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 D | zend_cfg.h | 106 #define CRT_CONSTANT_EX(op_array, node, rt_constants) \ argument 108 RT_CONSTANT(op_array, (node)) \ 110 CT_CONSTANT_EX(op_array, (node).constant) \ 114 CRT_CONSTANT_EX(op_array, node, (build_flags & ZEND_RT_CONSTANTS)) 121 int zend_build_cfg(zend_arena **arena, const zend_op_array *op_array, uint32_t build_flags, zend_c… 122 void zend_cfg_remark_reachable_blocks(const zend_op_array *op_array, zend_cfg *cfg); 124 int zend_cfg_compute_dominators_tree(const zend_op_array *op_array, zend_cfg *cfg); 125 int zend_cfg_identify_loops(const zend_op_array *op_array, zend_cfg *cfg, uint32_t *flags);
|
H A D | optimize_temp_vars_5.c | 44 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 D | block_pass.c | 122 op_array->opcodes[j] = op_array->opcodes[i]; in strip_nops() 860 op_array->last = len; in assemble_code_blocks() 979 op_array->live_range[j] = op_array->live_range[i]; in assemble_code_blocks() 1329 int var_num = op_array->last_var + op_array->T; in zend_jmp_optimization() 1518 if (op_array->T == 0) { in zend_t_usage() 1524 bitset_len = zend_bitset_len(op_array->last_var + op_array->T); in zend_t_usage() 1591 for (i = op_array->last_var; i< op_array->T; i++) { in zend_t_usage() 1812 if (op_array->last_var || op_array->T) { in zend_optimize_cfg() 1813 bitset_len = zend_bitset_len(op_array->last_var + op_array->T); in zend_optimize_cfg() 1815 same_t = zend_arena_alloc(&ctx->arena, op_array->last_var + op_array->T); in zend_optimize_cfg() [all …]
|
H A D | zend_func_info.h | 42 #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]; \
|
H A D | zend_ssa.c | 170 while (op != op_array->opcodes) { in find_adjusted_tmp_var() 534 tmp = do_alloca(sizeof(int) * (op_array->last_var + op_array->T), use_heap); in zend_ssa_rename() 535 memcpy(tmp, var, sizeof(int) * (op_array->last_var + op_array->T)); in zend_ssa_rename() 556 uint32_t k = opline - op_array->opcodes; in zend_ssa_rename() 862 if ((blocks_count * (op_array->last_var + op_array->T)) > 4 * 1024 * 1024) { in zend_build_ssa() 875 dfg.vars = op_array->last_var + op_array->T; in zend_build_ssa() 890 zend_dump_dfg(op_array, &ssa->cfg, &dfg); in zend_build_ssa() 937 var = do_alloca(sizeof(int) * (op_array->last_var + op_array->T), var_use_heap); in zend_build_ssa() 979 zend_dump_phi_placement(op_array, ssa); in zend_build_ssa() 985 memset(var + op_array->last_var, 0xff, op_array->T * sizeof(int)); in zend_build_ssa() [all …]
|
/PHP-7.1/ext/opcache/ |
H A D | zend_persist_calc.c | 187 if (op_array->literals) { in zend_persist_op_array_calc_ex() 188 zval *p = op_array->literals; in zend_persist_op_array_calc_ex() 190 ADD_DUP_SIZE(op_array->literals, sizeof(zval) * op_array->last_literal); in zend_persist_op_array_calc_ex() 197 ADD_DUP_SIZE(op_array->opcodes, sizeof(zend_op) * op_array->last); in zend_persist_op_array_calc_ex() 199 if (op_array->function_name) { in zend_persist_op_array_calc_ex() 211 if (op_array->filename) { in zend_persist_op_array_calc_ex() 215 if (op_array->arg_info) { in zend_persist_op_array_calc_ex() 239 if (op_array->live_range) { in zend_persist_op_array_calc_ex() 240 ADD_DUP_SIZE(op_array->live_range, sizeof(zend_live_range) * op_array->last_live_range); in zend_persist_op_array_calc_ex() 251 if (op_array->vars) { in zend_persist_op_array_calc_ex() [all …]
|
H A D | zend_persist.c | 372 if (op_array->refcount && --(*op_array->refcount) == 0) { in zend_persist_op_array_ex() 411 if (op_array->literals) { in zend_persist_op_array_ex() 420 op_array->literals = p; in zend_persist_op_array_ex() 492 if (op_array->function_name && !IS_ACCEL_INTERNED(op_array->function_name)) { in zend_persist_op_array_ex() 503 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 D | zend_file_cache.c | 367 if (op_array->static_variables && !IS_SERIALIZED(op_array->static_variables)) { in zend_file_cache_serialize_op_array() 376 if (op_array->scope && !IS_SERIALIZED(op_array->opcodes)) { in zend_file_cache_serialize_op_array() 392 zend_shared_alloc_register_xlat_entry(op_array->opcodes, op_array->opcodes); in zend_file_cache_serialize_op_array() 395 if (op_array->literals && !IS_SERIALIZED(op_array->literals)) { in zend_file_cache_serialize_op_array() 399 p = op_array->literals; in zend_file_cache_serialize_op_array() 479 if (op_array->vars) { in zend_file_cache_serialize_op_array() 483 p = op_array->vars; in zend_file_cache_serialize_op_array() 512 op_array = Z_PTR_P(zv); in zend_file_cache_serialize_func() 1023 if (op_array->literals && !IS_UNSERIALIZED(op_array->literals)) { in zend_file_cache_unserialize_op_array() 1104 if (op_array->vars) { in zend_file_cache_unserialize_op_array() [all …]
|
/PHP-7.1/sapi/phpdbg/ |
H A D | phpdbg_print.c | 57 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 D | phpdbg_opcode.c | 148 char *decode = phpdbg_decode_opline(&execute_data->func->op_array, opline); in phpdbg_print_opline_ex() 156 …execute_data->func->op_array.filename ? ZSTR_VAL(execute_data->func->op_array.filename) : "unknown… in phpdbg_print_opline_ex() 164 …execute_data->func->op_array.filename ? ZSTR_VAL(execute_data->func->op_array.filename) : "unknown… in phpdbg_print_opline_ex() 172 zend_op_array *op_array = &execute_data->func->op_array; in phpdbg_print_opline_ex() local 174 cur->opcodes = op_array->opcodes; in phpdbg_print_opline_ex() 175 cur->filename = op_array->filename; in phpdbg_print_opline_ex() 176 cur->scope = op_array->scope; in phpdbg_print_opline_ex() 177 cur->function_name = op_array->function_name; in phpdbg_print_opline_ex()
|
H A D | phpdbg_list.c | 299 zend_op_array *op_array; in phpdbg_init_compile_file() local 319 if (op_array == NULL) { in phpdbg_init_compile_file() 326 dataptr->op_array = *op_array; in phpdbg_init_compile_file() 327 if (dataptr->op_array.refcount) { in phpdbg_init_compile_file() 328 ++*dataptr->op_array.refcount; in phpdbg_init_compile_file() 331 return op_array; in phpdbg_init_compile_file() 336 zend_op_array *op_array; in phpdbg_compile_string() local 359 if (op_array == NULL) { in phpdbg_compile_string() 372 dataptr->op_array = *op_array; in phpdbg_compile_string() 374 ++*dataptr->op_array.refcount; in phpdbg_compile_string() [all …]
|