/php-src/ |
H A D | CODING_STANDARDS.md | 245 variable declaration section and the statements in a block, as well as 246 between logical statement groups in a block. Maintain at least one empty
|
H A D | CONTRIBUTING.md | 434 New source code files should include the following header block:
|
/php-src/Zend/Optimizer/ |
H A D | block_pass.c | 115 return block->successors[block->successors_count - 1]; in get_const_switch_target() 119 return block->successors[block->successors_count - 1]; in get_const_switch_target() 139 if (block->len == 0) { in zend_optimize_block() 603 block->successors[0] = block->successors[1]; in zend_optimize_block() 604 block->len--; in zend_optimize_block() 657 block->successors[0] = block->successors[1]; in zend_optimize_block() 1194 last_op = op_array->opcodes + block->start + block->len - 1; in zend_jmp_optimization() 1219 block->len--; in zend_jmp_optimization() 1295 block->len--; in zend_jmp_optimization() 1306 block->len--; in zend_jmp_optimization() [all …]
|
H A D | dce.c | 569 zend_basic_block *block = &ssa->cfg.blocks[b]; in dce_optimize_op_array() local 570 if (!(block->flags & ZEND_BB_REACHABLE)) { in dce_optimize_op_array() 573 i = block->start + block->len; in dce_optimize_op_array() 574 while (i > block->start) { in dce_optimize_op_array()
|
H A D | dfa_pass.c | 528 if (block->successors[1] != block->successors[0]) { in take_successor_0() 538 if (block->successors[1] != block->successors[0]) { in take_successor_1() 540 block->successors[0] = block->successors[1]; in take_successor_1() 561 while (block->len > 0) { in compress_block() 562 zend_op *opline = &op_array->opcodes[block->start + block->len - 1]; in compress_block() 565 block->len--; in compress_block() 704 if (block->predecessors_count == 1 && (block->flags & ZEND_BB_FOLLOW)) { in zend_ssa_unlink_block() 741 if (block->len == 0) { in zend_dfa_optimize_jmps() 767 if (block->len) { in zend_dfa_optimize_jmps() 768 op_num = block->start + block->len - 1; in zend_dfa_optimize_jmps() [all …]
|
H A D | escape_analysis.c | 97 for (j = 0; j < ssa->cfg.blocks[p->block].predecessors_count; j++) { in zend_build_equi_escape_sets()
|
H A D | sccp.c | 1826 int block_num, zend_basic_block *block, in sccp_mark_feasible_successors() argument 1839 scdf_mark_edge_feasible(scdf, block_num, block->successors[0]); in sccp_mark_feasible_successors() 1840 scdf_mark_edge_feasible(scdf, block_num, block->successors[1]); in sccp_mark_feasible_successors() 1852 for (s = 0; s < block->successors_count; s++) { in sccp_mark_feasible_successors() 1853 scdf_mark_edge_feasible(scdf, block_num, block->successors[s]); in sccp_mark_feasible_successors() 1939 s = block->successors_count - 1; in sccp_mark_feasible_successors() 1943 for (s = 0; s < block->successors_count; s++) { in sccp_mark_feasible_successors() 1948 scdf_mark_edge_feasible(scdf, block_num, block->successors[s]); in sccp_mark_feasible_successors() 2044 zend_basic_block *block = &ssa->cfg.blocks[phi->block]; in sccp_visit_phi() local 2055 if (scdf_is_edge_feasible(scdf, phi->pi, phi->block)) { in sccp_visit_phi() [all …]
|
H A D | scdf.c | 130 if (i == block->start + block->len - 1) { in scdf_solve() 131 if (block->successors_count == 1) { in scdf_solve() 156 if (block->len == 0) { in scdf_solve() 161 int j, end = block->start + block->len; in scdf_solve() 162 for (j = block->start; j < end; j++) { in scdf_solve() 169 if (block->successors_count == 1) { in scdf_solve() 171 } else if (block->successors_count > 1) { in scdf_solve() 215 for (uint32_t i = block->start; i < block->start + block->len; i++) { in kept_alive_by_loop_var_free() 227 int block_num = block - cfg->blocks; in cleanup_loop_var_free_block() 236 for (uint32_t i = block->start; i < block->start + block->len; i++) { in cleanup_loop_var_free_block() [all …]
|
H A D | scdf.h | 44 struct _scdf_ctx *scdf, int block_num, zend_basic_block *block,
|
H A D | ssa_integrity.c | 70 for (i = 0; i < block->predecessors_count; i++) { in is_in_predecessors() 80 for (s = 0; s < block->successors_count; s++) { in is_in_successors() 81 if (block->successors[s] == check) { in is_in_successors() 361 zend_basic_block *block = &cfg->blocks[i]; in ssa_verify_integrity() local 365 if (i != 0 && block->start < (block-1)->start + (block-1)->len) { in ssa_verify_integrity() 367 i, block->start, (block-1)->start + (block-1)->len); in ssa_verify_integrity() 369 if (i != cfg->blocks_count-1 && block->start + block->len > (block+1)->start) { in ssa_verify_integrity() 371 i, block->start + block->len, (block+1)->start); in ssa_verify_integrity() 374 for (j = block->start; j < block->start + block->len; j++) { in ssa_verify_integrity() 380 if (!(block->flags & ZEND_BB_REACHABLE)) { in ssa_verify_integrity() [all …]
|
H A D | zend_cfg.c | 253 block->flags = 0; in initialize_block() 254 block->successors = block->successors_storage; in initialize_block() 255 block->successors_count = 0; in initialize_block() 258 block->idom = -1; in initialize_block() 259 block->loop_header = -1; in initialize_block() 260 block->level = -1; in initialize_block() 261 block->children = -1; in initialize_block() 262 block->next_child = -1; in initialize_block() 498 if (block->len == 0) { in zend_build_cfg() 504 opline = op_array->opcodes + block->start + block->len - 1; in zend_build_cfg() [all …]
|
H A D | zend_inference.c | 530 for (j = 0; j < ssa->cfg.blocks[p->block].predecessors_count; j++) { in zend_ssa_find_false_dependencies() 1118 && ssa->cfg.blocks[p->block].predecessors_count == 2 in zend_inference_calc_range() 1132 && ssa->cfg.blocks[p->block].predecessors_count == 2 in zend_inference_calc_range() 1235 for (i = 0; i < ssa->cfg.blocks[p->block].predecessors_count; i++) { in zend_inference_calc_range() 4238 for (i = 0; i < blocks[p->block].predecessors_count; i++) { in zend_infer_types_ex() 4242 for (i = 0; i < blocks[p->block].predecessors_count; i++) { in zend_infer_types_ex()
|
H A D | zend_ssa.c | 1139 phi->block = i; in zend_ssa_compute_use_def_chains() 1354 zend_ssa_block *block = &ssa->blocks[phi->block]; in zend_ssa_remove_phi_from_block() local 1517 for (j = block->start; j < block->start + block->len; j++) { in zend_ssa_remove_block() 1558 block->successors_count = 0; in zend_ssa_remove_block_from_cfg() 1559 block->predecessors_count = 0; in zend_ssa_remove_block_from_cfg() 1562 if (block->idom >= 0) { in zend_ssa_remove_block_from_cfg() 1565 ssa->cfg.blocks[block->idom].children = block->next_child; in zend_ssa_remove_block_from_cfg() 1576 block->idom = -1; in zend_ssa_remove_block_from_cfg() 1577 block->level = -1; in zend_ssa_remove_block_from_cfg() 1578 block->children = -1; in zend_ssa_remove_block_from_cfg() [all …]
|
H A D | zend_ssa.h | 69 int block; /* current BB index */ member 211 for (j = 0; j < ssa->cfg.blocks[p->block].predecessors_count; j++) { in zend_ssa_next_use_phi() 265 ((phi)->pi >= 0 ? 1 : (ssa->cfg.blocks[(phi)->block].predecessors_count)) 306 #define FOREACH_BLOCK(block) do { \ argument 309 (block) = &ssa->cfg.blocks[_i]; \ 310 if (!((block)->flags & ZEND_BB_REACHABLE)) { \
|
/php-src/Zend/tests/ |
H A D | bug27731.phpt | 2 Bug #27731 (error_reporing() call inside @ block does not work correctly)
|
H A D | bug33771.phpt | 2 Bug #33771 (error_reporting falls to 0 when @ was used inside try/catch block)
|
H A D | bug34062.phpt | 2 Bug #34062 (Crash in catch block when many arguments are used)
|
H A D | bug55086.phpt | 2 Bug #55086 (Namespace alias does not work inside trait's use block)
|
H A D | bug70012.phpt | 2 Bug #70012 (Exception lost with nested finally block)
|
H A D | bug78271.phpt | 14 $d2="block"; 16 $d1="block";
|
H A D | bug80194.phpt | 2 Bug #80194: Assertion failure during block assembly of unreachable free with leading nop
|
H A D | entry_block_with_predecessors.phpt | 2 For SSA form the entry block should have no predecessors
|
H A D | exit_finally_1.phpt | 6 // TODO: In the future, we should execute the finally block.
|
H A D | exit_finally_2.phpt | 6 // TODO: In the future, we should execute the finally block.
|
H A D | exit_finally_3.phpt | 6 // TODO: In the future, we should execute the finally block.
|