Home
last modified time | relevance | path

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

123

/PHP-7.1/ext/opcache/Optimizer/
H A Dpass2.c37 zend_op *opline; in zend_optimizer_pass2() local
41 while (opline < end) { in zend_optimizer_pass2()
137 ZEND_OP1(opline).var == ZEND_RESULT(opline).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.c58 zend_op *opline; in zend_optimizer_pass3() local
113 COPY_NODE(opline->op1, opline->op2); in zend_optimizer_pass3()
160 opline++; in zend_optimizer_pass3()
172 if (ZEND_OP1_JMP_ADDR(opline) == opline + 1) { in zend_optimizer_pass3()
233 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target + 1); in zend_optimizer_pass3()
239 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target + 1); in zend_optimizer_pass3()
260 if (ZEND_OP2_JMP_ADDR(opline) == opline + 1) { in zend_optimizer_pass3()
261 if (ZEND_OP1(opline).var == ZEND_RESULT(opline).var) { in zend_optimizer_pass3()
294 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, new_target); in zend_optimizer_pass3()
379 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()
79 if ((opline->opcode == ZEND_DIV || opline->opcode == ZEND_MOD) && in zend_optimizer_pass1()
83 } else if ((opline->opcode == ZEND_SL || opline->opcode == ZEND_SR) && in zend_optimizer_pass1()
87 …nd_binary_op_produces_numeric_string_error(opline->opcode, &ZEND_OP1_LITERAL(opline), &ZEND_OP2_LI… in zend_optimizer_pass1()
103 MAKE_NOP(opline); in zend_optimizer_pass1()
141 MAKE_NOP(opline); in zend_optimizer_pass1()
169 MAKE_NOP(opline); in zend_optimizer_pass1()
265 MAKE_NOP(opline); in zend_optimizer_pass1()
288 MAKE_NOP(opline); in zend_optimizer_pass1()
326 ZEND_RESULT((opline - 1)).var == ZEND_OP1(opline).var) { 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 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()
55 if (target == opline) { in zend_optimizer_nop_removal()
68 *new_opline = *opline; in zend_optimizer_nop_removal()
110 for (opline = op_array->opcodes; opline<end; opline++) { in zend_optimizer_nop_removal()
111 switch (opline->opcode) { in zend_optimizer_nop_removal()
114 …ZEND_SET_OP_JMP_ADDR(opline, opline->op1, ZEND_OP1_JMP_ADDR(opline) - shiftlist[ZEND_OP1_JMP_ADDR( in zend_optimizer_nop_removal()
117opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, ZEND_OFFSET_TO_OPLINE_NUM(op_… in zend_optimizer_nop_removal()
128 …ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP2_JMP_ADDR(opline) - shiftlist[ZEND_OP2_JMP_ADDR( in zend_optimizer_nop_removal()
[all …]
H A Ddfa_pass.c243 …ZEND_SET_OP_JMP_ADDR(opline, opline->op1, ZEND_OP1_JMP_ADDR(opline) - shiftlist[ZEND_OP1_JMP_ADDR( in zend_ssa_remove_nops()
246opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, ZEND_OFFSET_TO_OPLINE_NUM(op_… in zend_ssa_remove_nops()
257 …ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP2_JMP_ADDR(opline) - shiftlist[ZEND_OP2_JMP_ADDR( in zend_ssa_remove_nops()
264opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, ZEND_OFFSET_TO_OPLINE_NUM(op_… in zend_ssa_remove_nops()
367 && (opline->op2_type != IS_CV || opline->op2.var != cv_var); in opline_supports_assign_contraction()
541 opline->result_type = opline->op1_type; in zend_dfa_optimize_op_array()
542 opline->result.var = opline->op1.var; in zend_dfa_optimize_op_array()
543 opline->op1_type = opline->op2_type; in zend_dfa_optimize_op_array()
544 opline->op1.var = opline->op2.var; in zend_dfa_optimize_op_array()
632 opline->result_type = opline->op1_type; in zend_dfa_optimize_op_array()
[all …]
H A Dblock_pass.c80 #define SET_VAR_SOURCE(opline) Tsource[VAR_NUM(opline->result.var)] = opline argument
164 COPY_NODE(opline->result, opline->op1); in zend_optimize_block()
391 COPY_NODE(opline->op1, opline->op2); in zend_optimize_block()
525 (opline->result_type == opline->op1_type && in zend_optimize_block()
526 opline->result.var == opline->op1.var))) { in zend_optimize_block()
646 COPY_NODE(opline->op1, opline->op2); in zend_optimize_block()
781 if (opline->op1_type == opline->result_type && in zend_optimize_block()
782 opline->op1.var == opline->result.var) { in zend_optimize_block()
793 opline++; in zend_optimize_block()
943 opline->op2.num = map[opline->op2.num]; in assemble_code_blocks()
[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(ZEND_RESULT(opline).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_optimizer.c100 opline++; in zend_optimizer_lookup_cv()
169 MAKE_NOP(opline); in zend_optimizer_update_op1_const()
401 opline->op2.num = map[opline->op2.num]; in zend_optimizer_remove_live_range()
403 opline++; in zend_optimizer_remove_live_range()
493 m = opline; in zend_optimizer_replace_by_const()
535 ++opline; in zend_optimizer_replace_by_const()
559 opline++; in zend_optimizer_replace_by_const()
827 opline++; in zend_revert_pass_two()
845 opline++; in zend_redo_pass_two()
872 opline++; in zend_redo_pass_two_ex()
[all …]
H A Dzend_inference.h39 if (opline->opN##_type == IS_CONST) { \
43 return (opline->opN##_type != IS_UNUSED && \
55 if (opline->opN##_type == IS_CONST) { \
66 } else if (opline->opN##_type != IS_UNUSED && \
79 if (opline->opN##_type == IS_CONST) { \
90 } else if (opline->opN##_type != IS_UNUSED && \
103 if (opline->opN##_type == IS_CONST) { \
108 } else if (opline->opN##_type != IS_UNUSED && \
121 if (opline->opN##_type == IS_CONST) { \
126 } else if (opline->opN##_type != IS_UNUSED && \
[all …]
H A Dzend_optimizer_internal.h27 #define ZEND_RESULT_TYPE(opline) (opline)->result_type argument
28 #define ZEND_RESULT(opline) (opline)->result argument
29 #define ZEND_OP1_TYPE(opline) (opline)->op1_type argument
30 #define ZEND_OP1(opline) (opline)->op1 argument
31 #define ZEND_OP1_LITERAL(opline) (op_array)->literals[(opline)->op1.constant] argument
32 #define ZEND_OP1_JMP_ADDR(opline) OP_JMP_ADDR(opline, (opline)->op1) argument
33 #define ZEND_OP2_TYPE(opline) (opline)->op2_type argument
34 #define ZEND_OP2(opline) (opline)->op2 argument
35 #define ZEND_OP2_LITERAL(opline) (op_array)->literals[(opline)->op2.constant] argument
36 #define ZEND_OP2_JMP_ADDR(opline) OP_JMP_ADDR(opline, (opline)->op2) argument
[all …]
H A Dcompact_literals.c119 zend_op *opline, *end; in zend_optimizer_compact_literals() local
156 opline->op1, in zend_optimizer_compact_literals()
170 opline->op1, in zend_optimizer_compact_literals()
196 opline->op1, in zend_optimizer_compact_literals()
216 opline->op2, in zend_optimizer_compact_literals()
252 opline->op1, in zend_optimizer_compact_literals()
275 opline->op1, in zend_optimizer_compact_literals()
316 opline++; in zend_optimizer_compact_literals()
507 opline->op1.constant = map[opline->op1.constant]; in zend_optimizer_compact_literals()
510 opline->op2.constant = map[opline->op2.constant]; in zend_optimizer_compact_literals()
[all …]
H A Dzend_ssa.c167 zend_op *op = opline; in find_adjusted_tmp_var()
265 opline->op1.var == (opline-1)->result.var) { in place_essa_pis()
276 op_array, build_flags, opline, (opline-1)->op1.var, &val2); in place_essa_pis()
283 op_array, build_flags, opline, (opline-1)->op2.var, &val1); in place_essa_pis()
413 opline->op1.var == (opline-1)->result.var && in place_essa_pis()
435 opline->op1.var == (opline-1)->result.var && in place_essa_pis()
447 opline->op1.var == (opline-1)->result.var && (opline-1)->op1_type == IS_CV) { in place_essa_pis()
463 opline->op1.var == (opline-1)->result.var) { in place_essa_pis()
467 if ((opline-1)->op1_type == IS_CV && (opline-1)->op2_type == IS_CONST) { in place_essa_pis()
500 opline->op1.var == (opline-1)->result.var && (opline-1)->op1_type == IS_CV && in place_essa_pis()
[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()
67 var_num = EX_VAR_TO_NUM(opline->op1.var); in zend_build_dfg()
68 switch (opline->opcode) { in zend_build_dfg()
154 if (opline->op2_type == IS_CV) { in zend_build_dfg()
156 switch (opline->opcode) { 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()
557 zend_dump_var(op_array, opline->op1_type, EX_VAR_TO_NUM(opline->op1.var)); in zend_dump_op()
561 zend_dump_var(op_array, opline->op1_type, EX_VAR_TO_NUM(opline->op1.var)); in zend_dump_op()
579 zend_dump_unused_op(opline, opline->op1, op1_flags); in zend_dump_op()
593 zend_dump_var(op_array, opline->op2_type, EX_VAR_TO_NUM(opline->op2.var)); in zend_dump_op()
597 zend_dump_var(op_array, opline->op2_type, EX_VAR_TO_NUM(opline->op2.var)); in zend_dump_op()
615 zend_dump_unused_op(opline, opline->op2, op2_flags); in zend_dump_op()
620 if (opline->opcode != ZEND_CATCH || !opline->result.num) { in zend_dump_op()
930 opline++; in zend_dump_op_array()
993 while (opline < end) { in zend_dump_op_array()
[all …]
H A Dzend_cfg.c302 switch(opline->opcode) { in zend_build_cfg()
353 BB_START(OP_JMP_ADDR(opline, opline->op1) - op_array->opcodes); in zend_build_cfg()
362 BB_START(OP_JMP_ADDR(opline, opline->op1) - op_array->opcodes); in zend_build_cfg()
368 BB_START(OP_JMP_ADDR(opline, opline->op2) - op_array->opcodes); in zend_build_cfg()
369 BB_START(ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, opline->extended_value)); in zend_build_cfg()
381 BB_START(OP_JMP_ADDR(opline, opline->op2) - op_array->opcodes); in zend_build_cfg()
386 BB_START(ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, opline->extended_value)); in zend_build_cfg()
394 BB_START(ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, opline->extended_value)); in zend_build_cfg()
399 BB_START(OP_JMP_ADDR(opline, opline->op2) - op_array->opcodes); in zend_build_cfg()
493 zend_op *opline; in zend_build_cfg() local
[all …]
H A Dzend_call_graph.c85 zend_op *opline = op_array->opcodes; in zend_analyze_calls() local
86 zend_op *end = opline + op_array->last; in zend_analyze_calls()
95 while (opline != end) { in zend_analyze_calls()
96 switch (opline->opcode) { in zend_analyze_calls()
106 call_info->caller_init_opline = opline; in zend_analyze_calls()
109 call_info->num_args = opline->extended_value; in zend_analyze_calls()
146 call_info->caller_call_opline = opline; in zend_analyze_calls()
159 uint32_t num = opline->op2.num; in zend_analyze_calls()
164 call_info->arg_info[num].opline = opline; in zend_analyze_calls()
173 opline++; in zend_analyze_calls()
[all …]
H A Dzend_inference.c784 zend_op *opline; in zend_inference_calc_range() local
939 op_array, ssa, opline, &ssa->ops[line], opline->opcode, tmp); in zend_inference_calc_range()
1294 opline++; in zend_inference_calc_range()
1321 opline++; in zend_inference_calc_range()
2181 opline--; in zend_update_type_info()
2574 opline++; in zend_update_type_info()
2604 opline++; in zend_update_type_info()
3408 return opline->opcode == ZEND_ADD || opline->opcode == ZEND_SUB in is_narrowable_instr()
3409 || opline->opcode == ZEND_MUL || opline->opcode == ZEND_DIV; in is_narrowable_instr()
3576 zend_op *opline; in zend_type_narrowing() local
[all …]
/PHP-7.1/sapi/phpdbg/
H A Dphpdbg_opcode.c81 if (opline->extended_value & ZEND_FREE_ON_RETURN) { in phpdbg_decode_input_op()
104 ops, opline, opline->op1, opline->op1_type, ZEND_VM_OP1_FLAGS(flags)); in phpdbg_decode_opline()
108 ops, opline, opline->op2, opline->op2_type, ZEND_VM_OP2_FLAGS(flags)); in phpdbg_decode_opline()
111 switch (opline->opcode) { in phpdbg_decode_opline()
116 decode[3] = phpdbg_decode_op(ops, &opline->result, opline->result_type); in phpdbg_decode_opline()
147 zend_op *opline = (zend_op *) execute_data->opline; in phpdbg_print_opline_ex() local
153 opline->lineno, in phpdbg_print_opline_ex()
154 opline, in phpdbg_print_opline_ex()
161 opline->lineno, in phpdbg_print_opline_ex()
162 opline, in phpdbg_print_opline_ex()
[all …]
H A Dphpdbg_bp.h88 zend_ulong opline; member
96 zend_ulong opline; member
133 PHPDBG_API void phpdbg_set_breakpoint_opline(zend_ulong opline);
134 PHPDBG_API void phpdbg_set_breakpoint_opline_ex(phpdbg_opline_ptr_t opline);
135 …void phpdbg_set_breakpoint_method_opline(const char *class, const char *method, zend_ulong opline);
136 PHPDBG_API void phpdbg_set_breakpoint_function_opline(const char *function, zend_ulong opline);
137 PHPDBG_API void phpdbg_set_breakpoint_file_opline(const char *file, zend_ulong opline);
/PHP-7.1/Zend/
H A Dzend_vm_execute.h1804 opline = EX(opline);
2044 opline = EX(opline);
2707 opline = OP_JMP_ADDR(opline, opline->op2);
2736 opline = OP_JMP_ADDR(opline, opline->op2);
2770 opline = OP_JMP_ADDR(opline, opline->op2);
2808 opline = OP_JMP_ADDR(opline, opline->op2);
2842 opline = OP_JMP_ADDR(opline, opline->op2);
34753 opline = OP_JMP_ADDR(opline, opline->op2);
34782 opline = OP_JMP_ADDR(opline, opline->op2);
34816 opline = OP_JMP_ADDR(opline, opline->op2);
[all …]
H A Dzend_opcode.c482 zend_op *opline = op_array->opcodes, *end=opline+op_array->last; in zend_update_extended_info() local
489 opline++; in zend_update_extended_info()
493 opline->lineno = (opline+1)->lineno; in zend_update_extended_info()
499 opline++; in zend_update_extended_info()
583 ZEND_PASS_TWO_UPDATE_JMP_TARGET(op_array, opline, opline->op1); in pass_two()
606 ZEND_PASS_TWO_UPDATE_JMP_TARGET(op_array, opline, opline->op1); in pass_two()
610 opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, opline->extended_value); in pass_two()
620 ZEND_PASS_TWO_UPDATE_JMP_TARGET(op_array, opline, opline->op2); in pass_two()
632 ZEND_PASS_TWO_UPDATE_JMP_TARGET(op_array, opline, opline->op2); in pass_two()
641 opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, opline->extended_value); in pass_two()
[all …]
H A Dzend_compile.c2081 !zend_is_def_range(opline - 1, opline->op1_type, opline->op1.var)) { in zend_check_live_ranges()
2084 if (!zend_is_def_range(opline - 2, opline->op1_type, opline->op1.var)) { in zend_check_live_ranges()
2085 zend_find_live_range(opline - 1, opline->op1_type, opline->op1.var); in zend_check_live_ranges()
2109 zend_find_live_range(opline, opline->op1_type, opline->op1.var); in zend_check_live_ranges()
2114 !zend_is_def_range(opline - 1, opline->op2_type, opline->op2.var)) { in zend_check_live_ranges()
2117 if (!zend_is_def_range(opline - 2, opline->op2_type, opline->op2.var)) { in zend_check_live_ranges()
2118 zend_find_live_range(opline-1, opline->op2_type, opline->op2.var); in zend_check_live_ranges()
2131 zend_find_live_range(opline, opline->op2_type, opline->op2.var); in zend_check_live_ranges()
2666 opline->result.var = opline->op1.var; in zend_separate_if_call_and_write()
7527 opline->op1_type = opline->op2_type; in zend_compile_encaps_list()
[all …]
H A Dzend_vm_def.h2712 ZEND_VM_JMP(OP_JMP_ADDR(opline, opline->op2));
2723 opline = OP_JMP_ADDR(opline, opline->op2);
2752 opline = OP_JMP_ADDR(opline, opline->op2);
2784 opline = ZEND_OFFSET_TO_OPLINE(opline, opline->extended_value);
2786 opline = OP_JMP_ADDR(opline, opline->op2);
2824 opline = OP_JMP_ADDR(opline, opline->op2);
2858 opline = OP_JMP_ADDR(opline, opline->op2);
4128 gen_execute_data->opline = opline + 1;
7301 opline = EX(opline);
7319 ZEND_VM_DISPATCH(opline->opcode, opline);
[all …]
H A Dzend_compile.h36 #define MAKE_NOP(opline) do { \ argument
37 (opline)->op1.num = 0; \
38 (opline)->op2.num = 0; \
39 (opline)->result.num = 0; \
40 (opline)->opcode = ZEND_NOP; \
41 (opline)->op1_type = IS_UNUSED; \
42 (opline)->op2_type = IS_UNUSED; \
43 (opline)->result_type = IS_UNUSED; \
542 ((char*)(target) - (char*)(opline))
556 # define OP_JMP_ADDR(opline, node) \ argument
[all …]

Completed in 320 milliseconds

123