Home
last modified time | relevance | path

Searched refs:opcodes (Results 1 – 25 of 57) sorted by relevance

123

/PHP-8.0/ext/opcache/Optimizer/
H A Ddfa_pass.c177 op_array->opcodes[target] = op_array->opcodes[i]; in zend_ssa_remove_nops()
1377 && op_array->opcodes[op_2].op1.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1393 && op_array->opcodes[op_2].op1.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1409 && op_array->opcodes[op_2].op2.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1417 op_array->opcodes[op_2].op1_type = op_array->opcodes[op_2].op2_type; in zend_dfa_optimize_op_array()
1418 op_array->opcodes[op_2].op1.var = op_array->opcodes[op_2].op2.var; in zend_dfa_optimize_op_array()
1531 && op_array->opcodes[op_2].op1.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1547 && op_array->opcodes[op_2].op1.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1563 && op_array->opcodes[op_2].op2.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1571 op_array->opcodes[op_2].op1_type = op_array->opcodes[op_2].op2_type; in zend_dfa_optimize_op_array()
[all …]
H A Dnop_removal.c44 end = op_array->opcodes + op_array->last; in zend_optimizer_nop_removal()
45 for (opline = op_array->opcodes; opline < end; opline++) { in zend_optimizer_nop_removal()
48 if (opline->opcode == ZEND_JMP && ZEND_OP1_JMP_ADDR(opline) > op_array->opcodes + i) { in zend_optimizer_nop_removal()
66 zend_op *new_opline = op_array->opcodes + new_count; in zend_optimizer_nop_removal()
77 end = op_array->opcodes + op_array->last; in zend_optimizer_nop_removal()
80 for (opline = op_array->opcodes; opline<end; opline++) { in zend_optimizer_nop_removal()
101 opline_num = &op_array->opcodes[*opline_num].result.opline_num; in zend_optimizer_nop_removal()
H A Ddce.c339 && var->use_chain == (opline - ctx->op_array->opcodes)) { in try_remove_var_def()
340 zend_op *def_opline = &ctx->op_array->opcodes[def]; in try_remove_var_def()
415 zend_bitset_excl(ctx->instr_dead, opline - ctx->op_array->opcodes); in dce_instr()
554 if (op_array->opcodes[i].opcode == ZEND_OP_DATA) { in dce_optimize_op_array()
567 && !may_throw_dce_exception(&op_array->opcodes[i])) in dce_optimize_op_array()
569 if (op_array->opcodes[i].opcode == ZEND_NEW in dce_optimize_op_array()
570 && op_array->opcodes[i+1].opcode == ZEND_DO_FCALL in dce_optimize_op_array()
598 && (op_array->opcodes[i+1].opcode == ZEND_OP_DATA in dce_optimize_op_array()
599 || (op_array->opcodes[i].opcode == ZEND_NEW in dce_optimize_op_array()
600 && op_array->opcodes[i+1].opcode == ZEND_DO_FCALL))) { in dce_optimize_op_array()
[all …]
H A Dzend_cfg.c44 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()
348 BB_START(OP_JMP_ADDR(opline, opline->op1) - op_array->opcodes); in zend_build_cfg()
357 BB_START(OP_JMP_ADDR(opline, opline->op1) - op_array->opcodes); in zend_build_cfg()
[all …]
H A Doptimize_temp_vars_5.c63 end = op_array->opcodes; in zend_optimize_temporary_variables()
64 opline = &op_array->opcodes[op_array->last - 1]; in zend_optimize_temporary_variables()
77 end = op_array->opcodes; in zend_optimize_temporary_variables()
78 opline = &op_array->opcodes[op_array->last - 1]; in zend_optimize_temporary_variables()
H A Dzend_optimizer.c534 zend_op *end = op_array->opcodes + op_array->last; in zend_optimizer_replace_by_const()
600 zend_op *end = op_array->opcodes + op_array->last; in zend_optimizer_replace_by_const()
911 while (--free_opline >= op_array->opcodes) { in zend_optimizer_get_loop_var_def()
1043 opline = op_array->opcodes; in zend_revert_pass_two()
1071 zend_op *old_opcodes = op_array->opcodes; in zend_redo_pass_two()
1078 op_array->opcodes = (zend_op *) erealloc(op_array->opcodes, in zend_redo_pass_two()
1093 opline = op_array->opcodes; in zend_redo_pass_two()
1182 zend_op *old_opcodes = op_array->opcodes; in zend_redo_pass_two_ex()
1189 op_array->opcodes = (zend_op *) erealloc(op_array->opcodes, in zend_redo_pass_two_ex()
1204 opline = op_array->opcodes; in zend_redo_pass_two_ex()
[all …]
H A Doptimize_func_calls.c102 && 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()
155 zend_op *opline = op_array->opcodes; in zend_optimize_func_calls()
H A Dblock_pass.c68 zend_op *opcodes = op_array->opcodes; in strip_leading_nops() local
84 if (op_array->opcodes[b->start].opcode == ZEND_NOP) { in strip_nops()
95 if (op_array->opcodes[i].opcode != ZEND_NOP) { in strip_nops()
97 op_array->opcodes[j] = op_array->opcodes[i]; in strip_nops()
105 MAKE_NOP(op_array->opcodes + j); in strip_nops()
149 opline = op_array->opcodes + block->start; in zend_optimize_block()
999 zend_op *op = op_array->opcodes + b->start; in assemble_code_blocks()
1025 efree(op_array->opcodes); in assemble_code_blocks()
1026 op_array->opcodes = new_opcodes; in assemble_code_blocks()
1601 opline = op_array->opcodes + block->start; in zend_t_usage()
[all …]
H A Dzend_call_graph.c49 zend_op *opline = op_array->opcodes; in zend_analyze_calls()
259 map[call->caller_init_opline - op_array->opcodes] = call; in zend_build_call_map()
261 map[call->caller_call_opline - op_array->opcodes] = call; in zend_build_call_map()
265 map[call->arg_info[i].opline - op_array->opcodes] = call; in zend_build_call_map()
H A Dcompact_vars.c38 zend_op *opline = &op_array->opcodes[i]; in zend_optimizer_compact_vars()
86 zend_op *opline = &op_array->opcodes[i]; in zend_optimizer_compact_vars()
H A Dscdf.c124 zend_op *opline = &scdf->op_array->opcodes[i]; in scdf_solve()
164 opline = &scdf->op_array->opcodes[j]; in scdf_solve()
197 zend_op *opline = &op_array->opcodes[i]; in kept_alive_by_loop_var_free()
H A Descape_analysis.c105 zend_op *opline = op_array->opcodes + def; in zend_build_equi_escape_sets()
170 zend_op *opline = op_array->opcodes + def; in is_allocation_def()
234 zend_op *opline = op_array->opcodes + def; in is_local_def()
277 zend_op *opline = op_array->opcodes + use; in is_escape_use()
482 zend_op *opline = op_array->opcodes + use; in zend_ssa_escape_analysis()
H A Dpass3.c64 opline = op_array->opcodes; in zend_optimizer_pass3()
115 } else if (opline > op_array->opcodes && in zend_optimizer_pass3()
H A Dzend_inference.c121 if (op_array->opcodes[line].opcode == ZEND_OP_DATA) { \
132 op_array->opcodes[line+1].opcode == ZEND_OP_DATA) { \
991 opline = op_array->opcodes + line; in zend_inference_calc_range()
1303 call_info = func_info->call_map[opline - op_array->opcodes]; in zend_inference_propagate_range()
1776 if (op_array->opcodes[use].opcode == ZEND_OP_DATA) { in add_usages()
1788 && op_array->opcodes[use + 1].opcode == ZEND_OP_DATA) { in add_usages()
3237 opcode = op_array->opcodes[j].opcode; in _zend_update_type_info()
3737 zend_op *opline = &op_array->opcodes[use]; in can_convert_to_double()
3873 opline = op_array->opcodes + ssa->vars[v].definition; in zend_type_narrowing()
3914 info->ssa.ops[opline - op_array->opcodes].op1_use >= 0 && in is_recursive_tail_call()
[all …]
/PHP-8.0/Zend/
H A Dzend_vm_gen.php655 global $prefix, $opnames, $opcodes;
1722 …_handler($f, 1, $kind, $opcodes[$num]["op"], $op1, $op2, isset($opcodes[$num]["use"]), $opcodes[$n…
1751 …handler($f, 0, $kind, $opcodes[$num]["op"], "ANY", "ANY", isset($opcodes[$num]["use"]), $opcodes[$…
2415 if (isset($opcodes[$code])) {
2468 if (isset($opcodes[$code])) {
2545 if (isset($opcodes[$code])) {
2562 ksort($opcodes);
2565 foreach ($opcodes as $dsc) {
2629 foreach ($opcodes as $code => $dsc) {
2656 fputs($f,"\t".(isset($opcodes[$i]["op"])?'"'.$opcodes[$i]["op"].'"':"NULL").",\n");
[all …]
H A Dzend_opcode.c509 efree(op_array->opcodes); in destroy_op_array()
591 CG(zend_lineno) = op_array->opcodes[op_num].lineno; in zend_check_finally_breakout()
599 CG(zend_lineno) = op_array->opcodes[op_num].lineno; in zend_check_finally_breakout()
639 zend_op *use_opline = &op_array->opcodes[end]; in emit_live_range()
752 start = block_start_op - op_array->opcodes; in emit_live_range()
770 start = def_opline + 1 - op_array->opcodes; in emit_live_range()
771 end = use_opline - op_array->opcodes; in emit_live_range()
828 zend_op *opline = &op_array->opcodes[opnum]; in zend_calc_live_ranges()
958 op_array->opcodes = (zend_op *) erealloc(op_array->opcodes, sizeof(zend_op)*op_array->last); in pass_two()
966 op_array->opcodes = (zend_op *) erealloc(op_array->opcodes, in pass_two()
[all …]
H A Dzend_generators.c116 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()
249 op_num = ex->opline - ex->func->op_array.opcodes - 1; in zend_generator_dtor_storage()
270 ZEND_CALL_VAR(ex, ex->func->op_array.opcodes[try_catch->finally_end].op1.var); in zend_generator_dtor_storage()
277 ex->opline = &ex->func->op_array.opcodes[try_catch->finally_op]; in zend_generator_dtor_storage()
286 ZEND_CALL_VAR(ex, ex->func->op_array.opcodes[try_catch->finally_end].op1.var); in zend_generator_dtor_storage()
289 zend_op *retval_op = &ex->func->op_array.opcodes[Z_OPLINE_NUM_P(fast_call)]; in zend_generator_dtor_storage()
391 uint32_t op_num = execute_data->opline - op_array->opcodes - 1; in zend_generator_get_gc()
396 if (execute_data->opline != op_array->opcodes) { in zend_generator_get_gc()
397 uint32_t i, op_num = execute_data->opline - op_array->opcodes - 1; in zend_generator_get_gc()
H A Dzend_compile.h432 zend_op *opcodes; member
614 ((char*)&(op_array)->opcodes[opline_num] - (char*)(opline))
620 (ZEND_OFFSET_TO_OPLINE(base, offset) - op_array->opcodes)
634 (node).jmp_addr = (op_array)->opcodes + (node).opline_num; \
639 (node).opline_num = (node).jmp_addr - (op_array)->opcodes; \
/PHP-8.0/sapi/phpdbg/
H A Dphpdbg_opcode.h34 zend_op *opcodes; member
H A Dphpdbg_opcode.c71 spprintf(&result, 0, "J%td", OP_JMP_ADDR(opline, op) - ops->opcodes); in phpdbg_decode_input_op()
179 cur->opcodes = op_array->opcodes; in phpdbg_print_opline_ex()
/PHP-8.0/Zend/tests/
H A Dbug73338.phpt2 Bug #73338: Ensure exceptions in function init opcodes are cleaned properly
/PHP-8.0/ext/opcache/jit/
H A Dzend_jit.c357 uint32_t pos = rt_opline - op_array->opcodes; in dasm_link_and_encode()
1209 opline = op_array->opcodes + n; in zend_jit_compute_liveness()
2189 if (opline == op_array->opcodes || in zend_jit()
2319 opline = op_array->opcodes + i; in zend_jit()
3371 if (opline == op_array->opcodes || in zend_jit()
3660 zend_op *opline = op_array->opcodes; in zend_runtime_jit()
3703 opline = op_array->opcodes; in zend_jit_check_funcs()
3756 zend_op *opline = op_array->opcodes; in zend_jit_setup_hot_counters_ex()
3842 zend_op *opline = op_array->opcodes; in zend_jit_op_array()
3871 zend_op *opline = op_array->opcodes; in zend_jit_op_array()
[all …]
H A DREADME.md5 This converts the PHP Virtual Machine's opcodes into x64/x86 assembly,
/PHP-8.0/ext/opcache/
H A Dzend_persist.c363 persist_ptr = zend_shared_alloc_get_xlat_entry(op_array->opcodes); in zend_persist_op_array_ex()
365 op_array->opcodes = persist_ptr; in zend_persist_op_array_ex()
423 void *jit_extension = zend_shared_alloc_get_xlat_entry(op_array->opcodes); in zend_persist_op_array_ex()
472 …zend_op *new_opcodes = zend_shared_memdup_put(op_array->opcodes, sizeof(zend_op) * op_array->last); in zend_persist_op_array_ex()
495 ((zval*)((char*)(op_array->opcodes + (opline - new_opcodes)) + in zend_persist_op_array_ex()
507 ((zval*)((char*)(op_array->opcodes + (opline - new_opcodes)) + in zend_persist_op_array_ex()
518 opline->op1.jmp_addr = &new_opcodes[opline->op1.jmp_addr - op_array->opcodes]; in zend_persist_op_array_ex()
533 opline->op2.jmp_addr = &new_opcodes[opline->op2.jmp_addr - op_array->opcodes]; in zend_persist_op_array_ex()
537 opline->op2.jmp_addr = &new_opcodes[opline->op2.jmp_addr - op_array->opcodes]; in zend_persist_op_array_ex()
552 efree(op_array->opcodes); in zend_persist_op_array_ex()
[all …]
H A Dzend_file_cache.c454 if (IS_SERIALIZED(op_array->opcodes)) {
476 if (UNEXPECTED(zend_shared_alloc_get_xlat_entry(op_array->opcodes))) {
479 SERIALIZE_PTR(op_array->opcodes);
492 zend_shared_alloc_register_xlat_entry(op_array->opcodes, op_array->opcodes);
516 SERIALIZE_PTR(op_array->opcodes);
517 opline = op_array->opcodes;
1226 if (IS_UNSERIALIZED(op_array->opcodes)) {
1263 UNSERIALIZE_PTR(op_array->opcodes);
1292 UNSERIALIZE_PTR(op_array->opcodes);
1293 opline = op_array->opcodes;

Completed in 108 milliseconds

123