Home
last modified time | relevance | path

Searched refs:opline (Results 1 – 25 of 63) sorted by relevance

123

/PHP-7.2/ext/opcache/Optimizer/
H A Dpass2.c37 zend_op *opline; in zend_optimizer_pass2() local
41 while (opline < end) { in zend_optimizer_pass2()
137 opline->op1.var == opline->result.var) { in zend_optimizer_pass2()
168 COPY_NODE(opline->op1, opline->op2); in zend_optimizer_pass2()
170 MAKE_NOP(opline); in zend_optimizer_pass2()
177 if (ZEND_OP2_JMP_ADDR(opline) == ZEND_OP1_JMP_ADDR(opline + 1)) { in zend_optimizer_pass2()
190 opline->extended_value = ZEND_OPLINE_TO_OFFSET(opline, ZEND_OP1_JMP_ADDR(opline + 1)); in zend_optimizer_pass2()
192 opline->extended_value = ZEND_OPLINE_TO_OFFSET(opline, ZEND_OP2_JMP_ADDR(opline)); in zend_optimizer_pass2()
193 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP1_JMP_ADDR(opline + 1)); in zend_optimizer_pass2()
210 ZEND_SET_OP_JMP_ADDR(opline, opline->op1, target_opline); in zend_optimizer_pass2()
[all …]
H A Dpass3.c55 zend_op *opline; in zend_optimizer_pass3() local
109 COPY_NODE(opline->op1, opline->op2); in zend_optimizer_pass3()
156 opline++; in zend_optimizer_pass3()
168 if (ZEND_OP1_JMP_ADDR(opline) == opline + 1) { in zend_optimizer_pass3()
229 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target + 1); in zend_optimizer_pass3()
235 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target + 1); in zend_optimizer_pass3()
256 if (ZEND_OP2_JMP_ADDR(opline) == opline + 1) { in zend_optimizer_pass3()
257 if (opline->op1.var == opline->result.var) { in zend_optimizer_pass3()
294 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, new_target); in zend_optimizer_pass3()
399 opline->opcode = opline->opcode-3; /* JMP_EX -> JMP */ in zend_optimizer_pass3()
[all …]
H A Dpass1_5.c48 while (opline < end) { in zend_optimizer_pass1()
77 …if (zend_optimizer_eval_binary_op(&result, opline->opcode, &ZEND_OP1_LITERAL(opline), &ZEND_OP2_LI… in zend_optimizer_pass1()
81 MAKE_NOP(opline); in zend_optimizer_pass1()
98 …if (zend_optimizer_replace_by_const(op_array, opline + 1, opline->result_type, opline->result.var,… in zend_optimizer_pass1()
99 MAKE_NOP(opline); in zend_optimizer_pass1()
125 MAKE_NOP(opline); in zend_optimizer_pass1()
224 MAKE_NOP(opline); in zend_optimizer_pass1()
251 MAKE_NOP(opline); in zend_optimizer_pass1()
294 (opline - 1)->result.var == opline->op1.var) { in zend_optimizer_pass1()
581 MAKE_NOP(opline); in zend_optimizer_pass1()
[all …]
H A Doptimize_func_calls.c41 zend_op *opline; member
50 switch (opline->opcode) { in zend_delete_call_instructions()
57 MAKE_NOP(opline); in zend_delete_call_instructions()
76 MAKE_NOP(opline); in zend_delete_call_instructions()
80 opline->result.var = 0; in zend_delete_call_instructions()
89 opline--; in zend_delete_call_instructions()
142 MAKE_NOP(opline); in zend_try_inline_call()
164 while (opline < end) { in zend_optimize_func_calls()
165 switch (opline->opcode) { in zend_optimize_func_calls()
178 call_stack[call].opline = opline; in zend_optimize_func_calls()
[all …]
H A Dblock_pass.c80 #define SET_VAR_SOURCE(opline) Tsource[VAR_NUM(opline->result.var)] = opline argument
186 COPY_NODE(opline->result, opline->op1); in zend_optimize_block()
207 COPY_NODE(opline->op1, opline->op2); in zend_optimize_block()
215 COPY_NODE(opline->op1, opline->op2); in zend_optimize_block()
469 COPY_NODE(opline->op1, opline->op2); in zend_optimize_block()
604 (opline->result_type == opline->op1_type && in zend_optimize_block()
727 COPY_NODE(opline->op1, opline->op2); in zend_optimize_block()
859 if (opline->op1_type == opline->result_type && in zend_optimize_block()
860 opline->op1.var == opline->result.var) { in zend_optimize_block()
1035 opline->op2.num = map[opline->op2.num]; in assemble_code_blocks()
[all …]
H A Dzend_optimizer.c510 opline->op2.num = map[opline->op2.num]; in zend_optimizer_remove_live_range()
718 opline++; in zend_optimizer_replace_by_const()
775 …ZEND_SET_OP_JMP_ADDR(opline, opline->op1, ZEND_OP1_JMP_ADDR(opline) - shiftlist[ZEND_OP1_JMP_ADDR( in zend_optimizer_shift_jump()
778opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, ZEND_OFFSET_TO_OPLINE_NUM(op_… in zend_optimizer_shift_jump()
789 …ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP2_JMP_ADDR(opline) - shiftlist[ZEND_OP2_JMP_ADDR( in zend_optimizer_shift_jump()
796opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, ZEND_OFFSET_TO_OPLINE_NUM(op_… in zend_optimizer_shift_jump()
806opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, ZEND_OFFSET_TO_OPLINE_NUM(op_… in zend_optimizer_shift_jump()
1089 opline++; in zend_revert_pass_two()
1107 opline++; in zend_redo_pass_two()
1134 opline++; in zend_redo_pass_two_ex()
[all …]
H A Doptimize_temp_vars_5.c51 zend_op *opline, *end; in zend_optimize_temporary_variables() local
68 while (opline >= end) { in zend_optimize_temporary_variables()
70 start_of_T[VAR_NUM(opline->result.var) - offset] = opline; in zend_optimize_temporary_variables()
72 opline--; in zend_optimize_temporary_variables()
81 while (opline >= end) { in zend_optimize_temporary_variables()
84 if (opline->opcode == ZEND_ROPE_END) { in zend_optimize_temporary_variables()
114 opline->opcode == ZEND_FREE || in zend_optimize_temporary_variables()
116 zend_op *curr = opline; in zend_optimize_temporary_variables()
156 if (start_of_T[currT] == opline) { in zend_optimize_temporary_variables()
166 if (start_of_T[currT] == opline) { in zend_optimize_temporary_variables()
[all …]
H A Dzend_inference.h42 if (opline->opN##_type == IS_CONST) { \
46 return (opline->opN##_type != IS_UNUSED && \
58 if (opline->opN##_type == IS_CONST) { \
69 } else if (opline->opN##_type != IS_UNUSED && \
82 if (opline->opN##_type == IS_CONST) { \
93 } else if (opline->opN##_type != IS_UNUSED && \
106 if (opline->opN##_type == IS_CONST) { \
111 } else if (opline->opN##_type != IS_UNUSED && \
124 if (opline->opN##_type == IS_CONST) { \
129 } else if (opline->opN##_type != IS_UNUSED && \
[all …]
H A Dcompact_vars.c38 zend_op *opline = &op_array->opcodes[i]; in zend_optimizer_compact_vars() local
39 if (opline->op1_type == IS_CV) { in zend_optimizer_compact_vars()
42 if (opline->op2_type == IS_CV) { in zend_optimizer_compact_vars()
45 if (opline->result_type == IS_CV) { in zend_optimizer_compact_vars()
70 zend_op *opline = &op_array->opcodes[i]; in zend_optimizer_compact_vars() local
71 if (opline->op1_type == IS_CV) { in zend_optimizer_compact_vars()
72 opline->op1.var = NUM_VAR(cv_map[VAR_NUM(opline->op1.var)]); in zend_optimizer_compact_vars()
76 if (opline->op2_type == IS_CV) { in zend_optimizer_compact_vars()
77 opline->op2.var = NUM_VAR(cv_map[VAR_NUM(opline->op2.var)]); in zend_optimizer_compact_vars()
81 if (opline->result_type == IS_CV) { in zend_optimizer_compact_vars()
[all …]
H A Ddfa_pass.c338 return opline->op1_type != IS_CV || opline->op1.var != cv_var; in opline_supports_assign_contraction()
343 return (opline->op1_type != IS_CV || opline->op1.var != cv_var) in opline_supports_assign_contraction()
344 && (opline->op2_type != IS_CV || opline->op2.var != cv_var); in opline_supports_assign_contraction()
351 return opline->op1_type != IS_CV || opline->op1.var != cv_var; in opline_supports_assign_contraction()
530 opline->op1.num = opline->op2.num; in zend_dfa_optimize_jmps()
762 opline->result_type = opline->op1_type; in zend_dfa_optimize_op_array()
763 opline->result.var = opline->op1.var; in zend_dfa_optimize_op_array()
764 opline->op1_type = opline->op2_type; in zend_dfa_optimize_op_array()
765 opline->op1.var = opline->op2.var; in zend_dfa_optimize_op_array()
852 opline->result_type = opline->op1_type; in zend_dfa_optimize_op_array()
[all …]
H A Dcompact_literals.c119 zend_op *opline, *end; in zend_optimizer_compact_literals() local
157 opline->op1, in zend_optimizer_compact_literals()
171 opline->op1, in zend_optimizer_compact_literals()
197 opline->op1, in zend_optimizer_compact_literals()
217 opline->op2, in zend_optimizer_compact_literals()
253 opline->op1, in zend_optimizer_compact_literals()
276 opline->op1, in zend_optimizer_compact_literals()
317 opline++; in zend_optimizer_compact_literals()
524 opline->op1.constant = map[opline->op1.constant]; in zend_optimizer_compact_literals()
527 opline->op2.constant = map[opline->op2.constant]; in zend_optimizer_compact_literals()
[all …]
H A Dnop_removal.c36 zend_op *end, *opline; in zend_optimizer_nop_removal() local
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()
50 zend_op *target = ZEND_OP1_JMP_ADDR(opline) - 1; in zend_optimizer_nop_removal()
55 if (target == opline) { in zend_optimizer_nop_removal()
57 opline->opcode = ZEND_NOP; in zend_optimizer_nop_removal()
62 if (opline->opcode == ZEND_NOP) { in zend_optimizer_nop_removal()
68 *new_opline = *opline; in zend_optimizer_nop_removal()
69 zend_optimizer_migrate_jump(op_array, new_opline, opline); in zend_optimizer_nop_removal()
80 for (opline = op_array->opcodes; opline<end; opline++) { in zend_optimizer_nop_removal()
[all …]
H A Dzend_dfg.c42 zend_op *opline, *end; in zend_build_dfg() local
48 end = opline + blocks[j].len; in zend_build_dfg()
49 for (; opline < end; opline++) { in zend_build_dfg()
50 if (opline->opcode != ZEND_OP_DATA) { in zend_build_dfg()
51 zend_op *next = opline + 1; in zend_build_dfg()
66 if (opline->op1_type == IS_CV) { in zend_build_dfg()
68 switch (opline->opcode) { in zend_build_dfg()
152 if (opline->op2_type == IS_CV) { in zend_build_dfg()
154 switch (opline->opcode) { in zend_build_dfg()
182 if (opline->opcode == ZEND_FE_FETCH_R || opline->opcode == ZEND_FE_FETCH_RW) { in zend_build_dfg()
[all …]
H A Dzend_dump.c406 zend_dump_var(op_array, opline->result_type, EX_VAR_TO_NUM(opline->result.var)); in zend_dump_op()
554 zend_dump_var(op_array, opline->op1_type, EX_VAR_TO_NUM(opline->op1.var)); in zend_dump_op()
558 zend_dump_var(op_array, opline->op1_type, EX_VAR_TO_NUM(opline->op1.var)); in zend_dump_op()
576 zend_dump_unused_op(opline, opline->op1, op1_flags); in zend_dump_op()
611 zend_dump_var(op_array, opline->op2_type, EX_VAR_TO_NUM(opline->op2.var)); in zend_dump_op()
615 zend_dump_var(op_array, opline->op2_type, EX_VAR_TO_NUM(opline->op2.var)); in zend_dump_op()
633 zend_dump_unused_op(opline, opline->op2, op2_flags); in zend_dump_op()
638 if (opline->opcode != ZEND_CATCH || !opline->result.num) { in zend_dump_op()
945 opline++; in zend_dump_op_array()
1008 while (opline < end) { in zend_dump_op_array()
[all …]
H A Ddce.c76 switch (opline->opcode) { in may_have_side_effects()
384 opline->opcode = ZEND_FREE; in dce_instr()
411 switch (opline->opcode) { in simplify_jumps()
434 switch (opline->opcode) { in simplify_jumps()
455 switch (opline->opcode) { in simplify_jumps()
460 opline->op1.num = opline->op2.num; in simplify_jumps()
463 MAKE_NOP(opline); in simplify_jumps()
471 opline->op1.num = opline->op2.num; in simplify_jumps()
474 MAKE_NOP(opline); in simplify_jumps()
489 opline->op1.num = opline->op2.num; in simplify_jumps()
[all …]
H A Dzend_optimizer_internal.h28 #define ZEND_OP1_LITERAL(opline) (op_array)->literals[(opline)->op1.constant] argument
29 #define ZEND_OP1_JMP_ADDR(opline) OP_JMP_ADDR(opline, (opline)->op1) argument
30 #define ZEND_OP2_LITERAL(opline) (op_array)->literals[(opline)->op2.constant] argument
31 #define ZEND_OP2_JMP_ADDR(opline) OP_JMP_ADDR(opline, (opline)->op2) argument
83 zend_op *opline,
86 zend_op *opline,
89 zend_op *opline,
110 zend_script *script, zend_op_array *op_array, zend_op *opline, zend_bool rt_constants);
112 void zend_optimizer_migrate_jump(zend_op_array *op_array, zend_op *new_opline, zend_op *opline);
113 void zend_optimizer_shift_jump(zend_op_array *op_array, zend_op *opline, uint32_t *shiftlist);
H A Dzend_ssa.c176 zend_op *op = opline; in find_adjusted_tmp_var()
274 opline->op1.var == (opline-1)->result.var) { in place_essa_pis()
285 op_array, build_flags, opline, (opline-1)->op1.var, &val2); in place_essa_pis()
292 op_array, build_flags, opline, (opline-1)->op2.var, &val1); in place_essa_pis()
422 opline->op1.var == (opline-1)->result.var && in place_essa_pis()
444 opline->op1.var == (opline-1)->result.var && in place_essa_pis()
456 opline->op1.var == (opline-1)->result.var && (opline-1)->op1_type == IS_CV) { in place_essa_pis()
471 opline->op1.var == (opline-1)->result.var) { in place_essa_pis()
508 opline->op1.var == (opline-1)->result.var && (opline-1)->op1_type == IS_CV && in place_essa_pis()
563 for (; opline < end; opline++) { in zend_ssa_rename()
[all …]
H A Dsccp.c143 switch (opline->opcode) { in can_replace_op1()
219 switch (opline->opcode) { in can_replace_op2()
245 MAKE_NOP(opline); in try_replace_op1()
257 COPY_NODE(opline->op1, opline->op2); in try_replace_op1()
271 COPY_NODE(opline->op1, opline->op2); in try_replace_op1()
281 MAKE_NOP(opline); in try_replace_op1()
296 ZEND_SET_OP_JMP_ADDR(opline, opline->op1, target_opline); in try_replace_op1()
308 ZEND_SET_OP_JMP_ADDR(opline, opline->op1, target_opline); in try_replace_op1()
877 switch (opline->opcode) { in sccp_visit_instr()
1264 zend_op *opline = call->arg_info[i].opline; in sccp_visit_instr() local
[all …]
H A Dzend_cfg.c306 switch(opline->opcode) { in zend_build_cfg()
357 BB_START(OP_JMP_ADDR(opline, opline->op1) - op_array->opcodes); in zend_build_cfg()
366 BB_START(OP_JMP_ADDR(opline, opline->op1) - op_array->opcodes); in zend_build_cfg()
372 BB_START(OP_JMP_ADDR(opline, opline->op2) - op_array->opcodes); in zend_build_cfg()
373 BB_START(ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, opline->extended_value)); in zend_build_cfg()
385 BB_START(OP_JMP_ADDR(opline, opline->op2) - op_array->opcodes); in zend_build_cfg()
390 BB_START(ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, opline->extended_value)); in zend_build_cfg()
398 BB_START(ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, opline->extended_value)); in zend_build_cfg()
403 BB_START(OP_JMP_ADDR(opline, opline->op2) - op_array->opcodes); in zend_build_cfg()
414 BB_START(ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, opline->extended_value)); in zend_build_cfg()
[all …]
H A Dzend_inference.c852 zend_op *opline; in zend_inference_calc_range() local
1008 op_array, ssa, opline, &ssa->ops[line], opline->opcode, tmp); in zend_inference_calc_range()
1363 opline++; in zend_inference_calc_range()
1390 opline++; in zend_inference_calc_range()
2287 opline--; in zend_update_type_info()
2686 opline++; in zend_update_type_info()
2716 opline++; in zend_update_type_info()
3553 return opline->opcode == ZEND_ADD || opline->opcode == ZEND_SUB in is_narrowable_instr()
3554 || opline->opcode == ZEND_MUL || opline->opcode == ZEND_DIV; in is_narrowable_instr()
3721 zend_op *opline; in zend_type_narrowing() local
[all …]
/PHP-7.2/sapi/phpdbg/
H A Dphpdbg_opcode.c103 if (opline->extended_value) { in phpdbg_decode_opline()
109 ops, opline, opline->op1, opline->op1_type, ZEND_VM_OP1_FLAGS(flags)); in phpdbg_decode_opline()
113 ops, opline, opline->op2, opline->op2_type, ZEND_VM_OP2_FLAGS(flags)); in phpdbg_decode_opline()
116 switch (opline->opcode) { in phpdbg_decode_opline()
121 decode[3] = phpdbg_decode_op(ops, &opline->result, opline->result_type); in phpdbg_decode_opline()
152 zend_op *opline = (zend_op *) execute_data->opline; in phpdbg_print_opline_ex() local
158 opline->lineno, in phpdbg_print_opline_ex()
159 opline, in phpdbg_print_opline_ex()
166 opline->lineno, in phpdbg_print_opline_ex()
167 opline, in phpdbg_print_opline_ex()
[all …]
/PHP-7.2/Zend/
H A Dzend_opcode.c492 zend_op *opline = op_array->opcodes, *end=opline+op_array->last; in zend_update_extended_info() local
499 opline++; in zend_update_extended_info()
503 opline->lineno = (opline+1)->lineno; in zend_update_extended_info()
509 opline++; in zend_update_extended_info()
593 ZEND_PASS_TWO_UPDATE_JMP_TARGET(op_array, opline, opline->op1); in pass_two()
616 ZEND_PASS_TWO_UPDATE_JMP_TARGET(op_array, opline, opline->op1); in pass_two()
620 opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, opline->extended_value); in pass_two()
630 ZEND_PASS_TWO_UPDATE_JMP_TARGET(op_array, opline, opline->op2); in pass_two()
651 opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, opline->extended_value); in pass_two()
669 opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, opline->extended_value); in pass_two()
[all …]
H A Dzend_vm_execute.h1815 opline = EX(opline);
2059 opline = EX(opline);
2728 opline = OP_JMP_ADDR(opline, opline->op2);
2757 opline = OP_JMP_ADDR(opline, opline->op2);
2791 opline = OP_JMP_ADDR(opline, opline->op2);
2829 opline = OP_JMP_ADDR(opline, opline->op2);
2863 opline = OP_JMP_ADDR(opline, opline->op2);
33165 opline = OP_JMP_ADDR(opline, opline->op2);
33194 opline = OP_JMP_ADDR(opline, opline->op2);
33228 opline = OP_JMP_ADDR(opline, opline->op2);
[all …]
H A Dzend_compile.c2076 !zend_is_def_range(opline - 1, opline->op1_type, opline->op1.var)) { in zend_check_live_ranges()
2079 if (!zend_is_def_range(opline - 2, opline->op1_type, opline->op1.var)) { in zend_check_live_ranges()
2080 zend_find_live_range(opline - 1, opline->op1_type, opline->op1.var); in zend_check_live_ranges()
2106 zend_find_live_range(opline, opline->op1_type, opline->op1.var); in zend_check_live_ranges()
2111 !zend_is_def_range(opline - 1, opline->op2_type, opline->op2.var)) { in zend_check_live_ranges()
2114 if (!zend_is_def_range(opline - 2, opline->op2_type, opline->op2.var)) { in zend_check_live_ranges()
2115 zend_find_live_range(opline-1, opline->op2_type, opline->op2.var); in zend_check_live_ranges()
2128 zend_find_live_range(opline, opline->op2_type, opline->op2.var); in zend_check_live_ranges()
2665 opline->result.var = opline->op1.var; in zend_separate_if_call_and_write()
7887 opline->op1_type = opline->op2_type; in zend_compile_encaps_list()
[all …]
H A Dzend_vm_def.h2507 ZEND_VM_JMP(OP_JMP_ADDR(opline, opline->op2));
2518 opline = OP_JMP_ADDR(opline, opline->op2);
2547 opline = OP_JMP_ADDR(opline, opline->op2);
2579 opline = ZEND_OFFSET_TO_OPLINE(opline, opline->extended_value);
2581 opline = OP_JMP_ADDR(opline, opline->op2);
2619 opline = OP_JMP_ADDR(opline, opline->op2);
2653 opline = OP_JMP_ADDR(opline, opline->op2);
3956 gen_execute_data->opline = opline + 1;
7126 opline = EX(opline);
7144 ZEND_VM_DISPATCH(opline->opcode, opline);
[all …]

Completed in 366 milliseconds

123