/PHP-8.1/Zend/Optimizer/ |
H A D | dfa_pass.c | 176 op_array->opcodes[target] = op_array->opcodes[i]; in zend_ssa_remove_nops() 1436 && op_array->opcodes[op_2].op1.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array() 1452 && op_array->opcodes[op_2].op1.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array() 1468 && op_array->opcodes[op_2].op2.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array() 1476 op_array->opcodes[op_2].op1_type = op_array->opcodes[op_2].op2_type; in zend_dfa_optimize_op_array() 1477 op_array->opcodes[op_2].op1.var = op_array->opcodes[op_2].op2.var; in zend_dfa_optimize_op_array() 1591 && op_array->opcodes[op_2].op1.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array() 1607 && op_array->opcodes[op_2].op1.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array() 1623 && op_array->opcodes[op_2].op2.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array() 1631 op_array->opcodes[op_2].op1_type = op_array->opcodes[op_2].op2_type; in zend_dfa_optimize_op_array() [all …]
|
H A D | nop_removal.c | 43 end = op_array->opcodes + op_array->last; in zend_optimizer_nop_removal() 44 for (opline = op_array->opcodes; opline < end; opline++) { in zend_optimizer_nop_removal() 47 if (opline->opcode == ZEND_JMP && ZEND_OP1_JMP_ADDR(opline) > op_array->opcodes + i) { in zend_optimizer_nop_removal() 65 zend_op *new_opline = op_array->opcodes + new_count; in zend_optimizer_nop_removal() 76 end = op_array->opcodes + op_array->last; in zend_optimizer_nop_removal() 79 for (opline = op_array->opcodes; opline<end; opline++) { in zend_optimizer_nop_removal() 100 opline_num = &op_array->opcodes[*opline_num].result.opline_num; in zend_optimizer_nop_removal()
|
H A D | dce.c | 353 && var->use_chain == (opline - ctx->op_array->opcodes)) { in try_remove_var_def() 354 zend_op *def_opline = &ctx->op_array->opcodes[def]; in try_remove_var_def() 442 zend_bitset_excl(ctx->instr_dead, opline - ctx->op_array->opcodes); in dce_instr() 581 if (op_array->opcodes[i].opcode == ZEND_OP_DATA) { in dce_optimize_op_array() 594 && !may_throw_dce_exception(&op_array->opcodes[i])) in dce_optimize_op_array() 596 if (op_array->opcodes[i].opcode == ZEND_NEW in dce_optimize_op_array() 597 && op_array->opcodes[i+1].opcode == ZEND_DO_FCALL in dce_optimize_op_array() 625 && (op_array->opcodes[i+1].opcode == ZEND_OP_DATA in dce_optimize_op_array() 626 || (op_array->opcodes[i].opcode == ZEND_NEW in dce_optimize_op_array() 627 && op_array->opcodes[i+1].opcode == ZEND_DO_FCALL))) { in dce_optimize_op_array() [all …]
|
H A D | zend_cfg.c | 44 zend_uchar opcode = opcodes[b->start + b->len - 1].opcode; in zend_mark_reachable() 100 zend_mark_reachable(opcodes, cfg, succ); in zend_mark_reachable() 113 zend_mark_reachable(op_array->opcodes, cfg, blocks + start); in zend_mark_reachable_blocks() 166 zend_mark_reachable(op_array->opcodes, cfg, b); in zend_mark_reachable_blocks() 174 zend_mark_reachable(op_array->opcodes, cfg, b); in zend_mark_reachable_blocks() 182 zend_mark_reachable(op_array->opcodes, cfg, b); in zend_mark_reachable_blocks() 212 zend_op *opline = &op_array->opcodes[j]; in zend_mark_reachable_blocks() 289 zend_op *opline = op_array->opcodes + i; in zend_build_cfg() 350 BB_START(OP_JMP_ADDR(opline, opline->op1) - op_array->opcodes); in zend_build_cfg() 359 BB_START(OP_JMP_ADDR(opline, opline->op1) - op_array->opcodes); in zend_build_cfg() [all …]
|
H A D | zend_optimizer.c | 538 zend_op *end = op_array->opcodes + op_array->last; in zend_optimizer_replace_by_const() 582 zend_op *end = op_array->opcodes + op_array->last; in zend_optimizer_replace_by_const() 883 while (--free_opline >= op_array->opcodes) { in zend_optimizer_get_loop_var_def() 1015 opline = op_array->opcodes; in zend_revert_pass_two() 1043 zend_op *old_opcodes = op_array->opcodes; in zend_redo_pass_two() 1050 op_array->opcodes = (zend_op *) erealloc(op_array->opcodes, in zend_redo_pass_two() 1065 opline = op_array->opcodes; in zend_redo_pass_two() 1154 zend_op *old_opcodes = op_array->opcodes; in zend_redo_pass_two_ex() 1161 op_array->opcodes = (zend_op *) erealloc(op_array->opcodes, in zend_redo_pass_two_ex() 1176 opline = op_array->opcodes; in zend_redo_pass_two_ex() [all …]
|
H A D | optimize_temp_vars_5.c | 62 end = op_array->opcodes; in zend_optimize_temporary_variables() 63 opline = &op_array->opcodes[op_array->last - 1]; in zend_optimize_temporary_variables() 76 end = op_array->opcodes; in zend_optimize_temporary_variables() 77 opline = &op_array->opcodes[op_array->last - 1]; in zend_optimize_temporary_variables()
|
H A D | block_pass.c | 67 zend_op *opcodes = op_array->opcodes; in strip_leading_nops() local 94 if (op_array->opcodes[i].opcode != ZEND_NOP) { in strip_nops() 96 op_array->opcodes[j] = op_array->opcodes[i]; in strip_nops() 104 MAKE_NOP(op_array->opcodes + j); in strip_nops() 148 opline = op_array->opcodes + block->start; in zend_optimize_block() 1010 zend_op *op = op_array->opcodes + b->start; in assemble_code_blocks() 1036 efree(op_array->opcodes); in assemble_code_blocks() 1037 op_array->opcodes = new_opcodes; in assemble_code_blocks() 1612 opline = op_array->opcodes + block->start; in zend_t_usage() 1693 end = op_array->opcodes + block->start; in zend_t_usage() [all …]
|
H A D | zend_call_graph.c | 48 zend_op *opline = op_array->opcodes; in zend_analyze_calls() 262 map[call->caller_init_opline - op_array->opcodes] = call; in zend_build_call_map() 264 map[call->caller_call_opline - op_array->opcodes] = call; in zend_build_call_map() 268 map[call->arg_info[i].opline - op_array->opcodes] = call; in zend_build_call_map()
|
H A D | optimize_func_calls.c | 102 && func->op_array.opcodes[func->op_array.num_args].opcode == ZEND_RETURN) { in zend_try_inline_call() 104 zend_op *ret_opline = func->op_array.opcodes + func->op_array.num_args; in zend_try_inline_call() 129 …(Z_TYPE_P(CRT_CONSTANT_EX(&func->op_array, &func->op_array.opcodes[i], func->op_array.opcodes[i].o… in zend_try_inline_call() 169 zend_op *opline = op_array->opcodes; in zend_optimize_func_calls()
|
H A D | zend_func_info.c | 60 &ssa->ops[call_info->arg_info[0].opline - op_array->opcodes]); in zend_range_info() 62 &ssa->ops[call_info->arg_info[1].opline - op_array->opcodes]); in zend_range_info() 68 &ssa->ops[call_info->arg_info[2].opline - op_array->opcodes]); in zend_range_info()
|
H A D | scdf.c | 123 zend_op *opline = &scdf->op_array->opcodes[i]; in scdf_solve() 163 opline = &scdf->op_array->opcodes[j]; in scdf_solve() 216 if (is_live_loop_var_free(scdf, &op_array->opcodes[i], &scdf->ssa->ops[i])) { in kept_alive_by_loop_var_free() 237 zend_op *opline = &op_array->opcodes[i]; in cleanup_loop_var_free_block()
|
H A D | compact_vars.c | 37 zend_op *opline = &op_array->opcodes[i]; in zend_optimizer_compact_vars() 85 zend_op *opline = &op_array->opcodes[i]; in zend_optimizer_compact_vars()
|
H A D | escape_analysis.c | 104 zend_op *opline = op_array->opcodes + def; in zend_build_equi_escape_sets() 153 zend_op *opline = op_array->opcodes + def; in is_allocation_def() 218 zend_op *opline = op_array->opcodes + def; in is_local_def() 262 zend_op *opline = op_array->opcodes + use; in is_escape_use() 467 zend_op *opline = op_array->opcodes + use; in zend_ssa_escape_analysis()
|
H A D | pass3.c | 63 opline = op_array->opcodes; in zend_optimizer_pass3() 114 } else if (opline > op_array->opcodes && in zend_optimizer_pass3()
|
/PHP-8.1/Zend/ |
H A D | zend_vm_gen.php | 656 global $prefix, $opnames, $opcodes; 1724 …_handler($f, 1, $kind, $opcodes[$num]["op"], $op1, $op2, isset($opcodes[$num]["use"]), $opcodes[$n… 1753 …handler($f, 0, $kind, $opcodes[$num]["op"], "ANY", "ANY", isset($opcodes[$num]["use"]), $opcodes[$… 2394 foreach ($opcodes as $code => $dsc) { 2474 if (isset($opcodes[$code])) { 2527 if (isset($opcodes[$code])) { 2605 if (isset($opcodes[$code])) { 2622 ksort($opcodes); 2625 foreach ($opcodes as $dsc) { 2664 fputs($f,"\t".(isset($opcodes[$i]["op"])?'"'.$opcodes[$i]["op"].'"':"NULL").",\n"); [all …]
|
H A D | zend_opcode.c | 558 efree(op_array->opcodes); in destroy_op_array() 656 CG(zend_lineno) = op_array->opcodes[op_num].lineno; in zend_check_finally_breakout() 664 CG(zend_lineno) = op_array->opcodes[op_num].lineno; in zend_check_finally_breakout() 704 zend_op *use_opline = &op_array->opcodes[end]; in emit_live_range() 817 start = block_start_op - op_array->opcodes; in emit_live_range() 835 start = def_opline + 1 - op_array->opcodes; in emit_live_range() 836 end = use_opline - op_array->opcodes; in emit_live_range() 893 zend_op *opline = &op_array->opcodes[opnum]; in zend_calc_live_ranges() 1023 op_array->opcodes = (zend_op *) erealloc(op_array->opcodes, sizeof(zend_op)*op_array->last); in pass_two() 1031 op_array->opcodes = (zend_op *) erealloc(op_array->opcodes, in pass_two() [all …]
|
H A D | zend_generators.c | 116 if (execute_data->opline != op_array->opcodes) { in zend_generator_cleanup_unfinished_execution() 118 uint32_t op_num = execute_data->opline - op_array->opcodes - 1; in zend_generator_cleanup_unfinished_execution() 258 op_num = ex->opline - ex->func->op_array.opcodes - 1; in zend_generator_dtor_storage() 279 ZEND_CALL_VAR(ex, ex->func->op_array.opcodes[try_catch->finally_end].op1.var); in zend_generator_dtor_storage() 288 ex->opline = &ex->func->op_array.opcodes[try_catch->finally_op]; in zend_generator_dtor_storage() 306 ZEND_CALL_VAR(ex, ex->func->op_array.opcodes[try_catch->finally_end].op1.var); in zend_generator_dtor_storage() 309 zend_op *retval_op = &ex->func->op_array.opcodes[Z_OPLINE_NUM_P(fast_call)]; in zend_generator_dtor_storage()
|
H A D | zend_compile.h | 444 zend_op *opcodes; member 632 ((char*)&(op_array)->opcodes[opline_num] - (char*)(opline)) 638 (ZEND_OFFSET_TO_OPLINE(base, offset) - op_array->opcodes) 652 (node).jmp_addr = (op_array)->opcodes + (node).opline_num; \ 657 (node).opline_num = (node).jmp_addr - (op_array)->opcodes; \
|
/PHP-8.1/ext/opcache/jit/ |
H A D | zend_jit.c | 921 uint32_t pos = rt_opline - op_array->opcodes; in dasm_link_and_encode() 1787 opline = op_array->opcodes + n; in zend_jit_compute_liveness() 2776 if (opline == op_array->opcodes || in zend_jit() 2906 opline = op_array->opcodes + i; in zend_jit() 3976 if (opline == op_array->opcodes || in zend_jit() 4270 zend_op *opline = op_array->opcodes; in zend_runtime_jit() 4323 opline = op_array->opcodes; in zend_jit_check_funcs() 4384 zend_op *opline = op_array->opcodes; in zend_jit_setup_hot_counters_ex() 4470 zend_op *opline = op_array->opcodes; in zend_jit_op_array() 4499 zend_op *opline = op_array->opcodes; in zend_jit_op_array() [all …]
|
H A D | README.md | 5 This converts the PHP Virtual Machine's opcodes into x64/x86 assembly,
|
/PHP-8.1/Zend/tests/ |
H A D | bug73338.phpt | 2 Bug #73338: Ensure exceptions in function init opcodes are cleaned properly
|
/PHP-8.1/ext/opcache/tests/jit/ |
H A D | ignored_opcodes.phpt | 2 JIT: ignored opcodes
|
/PHP-8.1/ext/opcache/ |
H A D | zend_persist.c | 423 persist_ptr = zend_shared_alloc_get_xlat_entry(op_array->opcodes); in zend_persist_op_array_ex() 425 op_array->opcodes = persist_ptr; in zend_persist_op_array_ex() 526 …zend_op *new_opcodes = zend_shared_memdup_put(op_array->opcodes, sizeof(zend_op) * op_array->last); in zend_persist_op_array_ex() 549 ((zval*)((char*)(op_array->opcodes + (opline - new_opcodes)) + in zend_persist_op_array_ex() 561 ((zval*)((char*)(op_array->opcodes + (opline - new_opcodes)) + in zend_persist_op_array_ex() 572 opline->op1.jmp_addr = &new_opcodes[opline->op1.jmp_addr - op_array->opcodes]; in zend_persist_op_array_ex() 587 opline->op2.jmp_addr = &new_opcodes[opline->op2.jmp_addr - op_array->opcodes]; in zend_persist_op_array_ex() 591 opline->op2.jmp_addr = &new_opcodes[opline->op2.jmp_addr - op_array->opcodes]; in zend_persist_op_array_ex() 606 efree(op_array->opcodes); in zend_persist_op_array_ex() 607 op_array->opcodes = new_opcodes; in zend_persist_op_array_ex() [all …]
|
H A D | zend_file_cache.c | 448 if (IS_SERIALIZED(op_array->opcodes)) { 454 if (UNEXPECTED(zend_shared_alloc_get_xlat_entry(op_array->opcodes))) { 458 SERIALIZE_PTR(op_array->opcodes); 471 zend_shared_alloc_register_xlat_entry(op_array->opcodes, op_array->opcodes); 504 SERIALIZE_PTR(op_array->opcodes); 505 opline = op_array->opcodes; 1259 if (IS_UNSERIALIZED(op_array->opcodes)) { 1268 UNSERIALIZE_PTR(op_array->opcodes); 1306 UNSERIALIZE_PTR(op_array->opcodes); 1307 opline = op_array->opcodes;
|
/PHP-8.1/sapi/phpdbg/ |
H A D | phpdbg_print.c | 375 cur->opcodes = op_array->opcodes; in phpdbg_print_opline()
|