Home
last modified time | relevance | path

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

123

/PHP-7.4/ext/opcache/Optimizer/
H A Dpass2.c37 zend_op *opline; in zend_optimizer_pass2() local
41 while (opline < end) { in zend_optimizer_pass2()
144 opline->op1.var == opline->result.var) { in zend_optimizer_pass2()
175 COPY_NODE(opline->op1, opline->op2); in zend_optimizer_pass2()
177 MAKE_NOP(opline); in zend_optimizer_pass2()
184 if (ZEND_OP2_JMP_ADDR(opline) == ZEND_OP1_JMP_ADDR(opline + 1)) { in zend_optimizer_pass2()
197 opline->extended_value = ZEND_OPLINE_TO_OFFSET(opline, ZEND_OP1_JMP_ADDR(opline + 1)); in zend_optimizer_pass2()
199 opline->extended_value = ZEND_OPLINE_TO_OFFSET(opline, ZEND_OP2_JMP_ADDR(opline)); in zend_optimizer_pass2()
200 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP1_JMP_ADDR(opline + 1)); in zend_optimizer_pass2()
217 ZEND_SET_OP_JMP_ADDR(opline, opline->op1, target_opline); in zend_optimizer_pass2()
[all …]
H A Dpass1_5.c46 while (opline < end) { in zend_optimizer_pass1()
79 MAKE_NOP(opline); in zend_optimizer_pass1()
96 …if (zend_optimizer_replace_by_const(op_array, opline + 1, opline->result_type, opline->result.var,… in zend_optimizer_pass1()
219 (opline - 1)->result.var == opline->op1.var) { in zend_optimizer_pass1()
531 ((opline + 1)->opcode == opline->opcode + 1 || in zend_optimizer_pass1()
536 (opline + 1)->op1_type == opline->result_type && in zend_optimizer_pass1()
537 (opline + 1)->op1.var == opline->result.var && in zend_optimizer_pass1()
548 (opline + 1)->opcode = opline->opcode; in zend_optimizer_pass1()
551 (opline + 1)->op1_type = (opline + 1)->op2_type; in zend_optimizer_pass1()
552 (opline + 1)->op1 = (opline + 1)->op2; in zend_optimizer_pass1()
[all …]
H A Dpass3.c55 zend_op *opline; in zend_optimizer_pass3() local
111 COPY_NODE(opline->op1, opline->op2); in zend_optimizer_pass3()
120 opline->extended_value = opline->opcode; in zend_optimizer_pass3()
124 opline++; in zend_optimizer_pass3()
136 if (ZEND_OP1_JMP_ADDR(opline) == opline + 1) { in zend_optimizer_pass3()
197 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target + 1); in zend_optimizer_pass3()
203 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target + 1); in zend_optimizer_pass3()
224 if (ZEND_OP2_JMP_ADDR(opline) == opline + 1) { in zend_optimizer_pass3()
225 if (opline->op1.var == opline->result.var) { in zend_optimizer_pass3()
367 opline->opcode = opline->opcode-3; /* JMP_EX -> JMP */ in zend_optimizer_pass3()
[all …]
H A Dcompact_literals.c289 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()
618 opline->result.num = func_slot[opline->op2.constant]; in zend_optimizer_compact_literals()
622 func_slot[opline->op2.constant] = opline->result.num; in zend_optimizer_compact_literals()
656 opline->result.num = class_slot[opline->op1.constant]; in zend_optimizer_compact_literals()
660 class_slot[opline->op1.constant] = opline->result.num; in zend_optimizer_compact_literals()
751 opline->op2.num = class_slot[opline->op1.constant]; in zend_optimizer_compact_literals()
755 class_slot[opline->op1.constant] = opline->op2.num; in zend_optimizer_compact_literals()
788 opline++; in zend_optimizer_compact_literals()
[all …]
H A Doptimize_func_calls.c41 zend_op *opline; member
51 switch (opline->opcode) { in zend_delete_call_instructions()
58 MAKE_NOP(opline); in zend_delete_call_instructions()
77 MAKE_NOP(opline); in zend_delete_call_instructions()
90 opline--; in zend_delete_call_instructions()
151 MAKE_NOP(opline); in zend_try_inline_call()
173 while (opline < end) { in zend_optimize_func_calls()
174 switch (opline->opcode) { in zend_optimize_func_calls()
187 call_stack[call].opline = opline; in zend_optimize_func_calls()
274 MAKE_NOP(opline); in zend_optimize_func_calls()
[all …]
H A Dzend_optimizer.c384 (opline + 1)->op2.var == opline->result.var) { in zend_optimizer_update_op2_const()
686 opline++; in zend_optimizer_replace_by_const()
741 …ZEND_SET_OP_JMP_ADDR(opline, opline->op1, ZEND_OP1_JMP_ADDR(opline) - shiftlist[ZEND_OP1_JMP_ADDR( in zend_optimizer_shift_jump()
744opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, ZEND_OFFSET_TO_OPLINE_NUM(op_… in zend_optimizer_shift_jump()
755 …ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP2_JMP_ADDR(opline) - shiftlist[ZEND_OP2_JMP_ADDR( in zend_optimizer_shift_jump()
759 …ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP2_JMP_ADDR(opline) - shiftlist[ZEND_OP2_JMP_ADDR( in zend_optimizer_shift_jump()
1078 opline++; in zend_revert_pass_two()
1159 opline++; in zend_redo_pass_two()
1245 opline++; in zend_redo_pass_two_ex()
1284 Z_STR_P(RT_CONSTANT(opline, opline->op2))); in zend_adjust_fcall_stack_size()
[all …]
H A Doptimize_temp_vars_5.c51 zend_op *opline, *end; in zend_optimize_temporary_variables() local
67 while (opline >= end) { in zend_optimize_temporary_variables()
69 start_of_T[VAR_NUM(opline->result.var) - offset] = opline; in zend_optimize_temporary_variables()
71 opline--; in zend_optimize_temporary_variables()
80 while (opline >= end) { in zend_optimize_temporary_variables()
83 if (opline->opcode == ZEND_ROPE_END) { in zend_optimize_temporary_variables()
113 opline->opcode == ZEND_FREE || in zend_optimize_temporary_variables()
115 zend_op *curr = opline; in zend_optimize_temporary_variables()
155 if (start_of_T[currT] == opline) { in zend_optimize_temporary_variables()
165 if (start_of_T[currT] == opline) { in zend_optimize_temporary_variables()
[all …]
H A Dblock_pass.c82 #define SET_VAR_SOURCE(opline) Tsource[VAR_NUM(opline->result.var)] = opline argument
193 COPY_NODE(opline->result, opline->op1); in zend_optimize_block()
215 COPY_NODE(opline->op1, opline->op2); in zend_optimize_block()
223 COPY_NODE(opline->op1, opline->op2); in zend_optimize_block()
478 COPY_NODE(opline->op1, opline->op2); in zend_optimize_block()
624 (opline->result_type == opline->op1_type && in zend_optimize_block()
625 opline->result.var == opline->op1.var))) { in zend_optimize_block()
752 COPY_NODE(opline->op1, opline->op2); in zend_optimize_block()
892 if (opline->op1_type == opline->result_type && in zend_optimize_block()
893 opline->op1.var == opline->result.var) { in zend_optimize_block()
[all …]
H A Dzend_inference.h42 if (opline->opN##_type == IS_CONST) { \
43 zval *zv = CRT_CONSTANT_EX(op_array, opline, opline->opN, ssa->rt_constants); \
58 if (opline->opN##_type == IS_CONST) { \
59 zval *zv = CRT_CONSTANT_EX(op_array, opline, opline->opN, ssa->rt_constants); \
82 if (opline->opN##_type == IS_CONST) { \
83 zval *zv = CRT_CONSTANT_EX(op_array, opline, opline->opN, ssa->rt_constants); \
106 if (opline->opN##_type == IS_CONST) { \
107 zval *zv = CRT_CONSTANT_EX(op_array, opline, opline->opN, ssa->rt_constants); \
124 if (opline->opN##_type == IS_CONST) { \
125 zval *zv = CRT_CONSTANT_EX(op_array, opline, opline->opN, ssa->rt_constants); \
[all …]
H A Ddfa_pass.c745 COPY_NODE(opline->op1, opline->op2); in zend_dfa_optimize_jmps()
771 COPY_NODE(opline->op1, opline->op2); in zend_dfa_optimize_jmps()
834 opline->op1.num = opline->op2.num; in zend_dfa_optimize_jmps()
900 COPY_NODE(opline->op1, opline->op2); in zend_dfa_optimize_jmps()
1236 opline->result_type = opline->op1_type; in zend_dfa_optimize_op_array()
1237 opline->result.var = opline->op1.var; in zend_dfa_optimize_op_array()
1238 opline->op1_type = opline->op2_type; in zend_dfa_optimize_op_array()
1239 opline->op1.var = opline->op2.var; in zend_dfa_optimize_op_array()
1290 opline->opcode = opline->extended_value; in zend_dfa_optimize_op_array()
1292 opline->result_type = opline->op1_type; in zend_dfa_optimize_op_array()
[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 Dcompact_vars.c38 zend_op *opline = &op_array->opcodes[i]; in zend_optimizer_compact_vars() local
39 if (opline->op1_type & (IS_CV|IS_VAR|IS_TMP_VAR)) { in zend_optimizer_compact_vars()
42 if (opline->op2_type & (IS_CV|IS_VAR|IS_TMP_VAR)) { in zend_optimizer_compact_vars()
45 if (opline->result_type & (IS_CV|IS_VAR|IS_TMP_VAR)) { in zend_optimizer_compact_vars()
47 if (opline->opcode == ZEND_ROPE_INIT) { in zend_optimizer_compact_vars()
86 zend_op *opline = &op_array->opcodes[i]; in zend_optimizer_compact_vars() local
87 if (opline->op1_type & (IS_CV|IS_VAR|IS_TMP_VAR)) { in zend_optimizer_compact_vars()
88 opline->op1.var = NUM_VAR(vars_map[VAR_NUM(opline->op1.var)]); in zend_optimizer_compact_vars()
90 if (opline->op2_type & (IS_CV|IS_VAR|IS_TMP_VAR)) { in zend_optimizer_compact_vars()
91 opline->op2.var = NUM_VAR(vars_map[VAR_NUM(opline->op2.var)]); in zend_optimizer_compact_vars()
[all …]
H A Descape_analysis.c173 switch (opline->opcode) { in is_allocation_def()
208 switch (opline->opcode) { in is_allocation_def()
239 switch (opline->opcode) { in is_local_def()
258 switch (opline->opcode) { in is_local_def()
283 switch (opline->opcode) { in is_escape_use()
336 opline--; in is_escape_use()
338 if (opline->op1_type != IS_CV in is_escape_use()
352 switch (opline->opcode) { in is_escape_use()
354 if (opline->op1_type != IS_CV in is_escape_use()
360 if (opline->op2_type == IS_CV || opline->result_type != IS_UNUSED) { in is_escape_use()
[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
74 static inline zend_bool zend_optimizer_is_loop_var_free(const zend_op *opline) { in zend_optimizer_is_loop_var_free() argument
75 return (opline->opcode == ZEND_FE_FREE && opline->extended_value != ZEND_FREE_ON_RETURN) in zend_optimizer_is_loop_var_free()
76 || (opline->opcode == ZEND_FREE && opline->extended_value == ZEND_FREE_SWITCH); in zend_optimizer_is_loop_var_free()
88 zend_op *opline,
91 zend_op *opline,
94 zend_op *opline,
[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()
72 if (opline->op1_type == IS_CV) { in zend_build_dfg()
74 switch (opline->opcode) { in zend_build_dfg()
157 if (opline->op2_type == IS_CV) { in zend_build_dfg()
159 switch (opline->opcode) { in zend_build_dfg()
187 if (opline->opcode == ZEND_FE_FETCH_R || opline->opcode == ZEND_FE_FETCH_RW) { in zend_build_dfg()
[all …]
H A Dzend_dump.c435 zend_dump_var(op_array, opline->result_type, EX_VAR_TO_NUM(opline->result.var)); in zend_dump_op()
606 zend_dump_var(op_array, opline->op1_type, EX_VAR_TO_NUM(opline->op1.var)); in zend_dump_op()
610 zend_dump_var(op_array, opline->op1_type, EX_VAR_TO_NUM(opline->op1.var)); in zend_dump_op()
628 zend_dump_unused_op(opline, opline->op1, op1_flags); in zend_dump_op()
634 if (opline->opcode == ZEND_SWITCH_LONG || opline->opcode == ZEND_SWITCH_STRING) { in zend_dump_op()
663 zend_dump_var(op_array, opline->op2_type, EX_VAR_TO_NUM(opline->op2.var)); in zend_dump_op()
667 zend_dump_var(op_array, opline->op2_type, EX_VAR_TO_NUM(opline->op2.var)); in zend_dump_op()
687 zend_dump_unused_op(opline, opline->op2, op2_flags); in zend_dump_op()
1000 opline++; in zend_dump_op_array()
1059 while (opline < end) { in zend_dump_op_array()
[all …]
H A Dzend_ssa.c174 zend_op *op = opline; in find_adjusted_tmp_var()
271 opline->op1.var == (opline-1)->result.var) { in place_essa_pis()
282 op_array, build_flags, opline, (opline-1)->op1.var, &val2); in place_essa_pis()
289 op_array, build_flags, opline, (opline-1)->op2.var, &val1); in place_essa_pis()
419 opline->op1.var == (opline-1)->result.var && in place_essa_pis()
441 opline->op1.var == (opline-1)->result.var && in place_essa_pis()
453 opline->op1.var == (opline-1)->result.var && (opline-1)->op1_type == IS_CV) { in place_essa_pis()
468 opline->op1.var == (opline-1)->result.var) { in place_essa_pis()
505 opline->op1.var == (opline-1)->result.var && (opline-1)->op1_type == IS_CV && in place_essa_pis()
560 for (; opline < end; opline++) { in zend_ssa_rename()
[all …]
H A Dsccp.c211 switch (opline->opcode) { in can_replace_op1()
280 switch (opline->opcode) { in can_replace_op2()
300 switch (opline->opcode) { in try_replace_op1()
344 switch (opline->opcode) { in try_replace_op2()
355 MAKE_NOP(opline); in try_replace_op2()
1074 switch (opline->opcode) { in sccp_visit_instr()
1441 opline++; in sccp_visit_instr()
1456 switch (opline->opcode) { in sccp_visit_instr()
1865 zend_op *opline = call->arg_info[i].opline; in sccp_visit_instr() local
1866 if (opline->opcode != ZEND_SEND_VAL && opline->opcode != ZEND_SEND_VAR) { in sccp_visit_instr()
[all …]
H A Dzend_cfg.c288 switch (opline->opcode) { in zend_build_cfg()
339 BB_START(OP_JMP_ADDR(opline, opline->op1) - op_array->opcodes); in zend_build_cfg()
348 BB_START(OP_JMP_ADDR(opline, opline->op1) - op_array->opcodes); in zend_build_cfg()
354 BB_START(OP_JMP_ADDR(opline, opline->op2) - op_array->opcodes); in zend_build_cfg()
355 BB_START(ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, opline->extended_value)); in zend_build_cfg()
367 BB_START(OP_JMP_ADDR(opline, opline->op2) - op_array->opcodes); in zend_build_cfg()
372 BB_START(OP_JMP_ADDR(opline, opline->op2) - op_array->opcodes); in zend_build_cfg()
378 BB_START(ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, opline->extended_value)); in zend_build_cfg()
383 BB_START(OP_JMP_ADDR(opline, opline->op2) - op_array->opcodes); in zend_build_cfg()
394 BB_START(ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, opline->extended_value)); in zend_build_cfg()
[all …]
H A Dzend_inference.c844 zend_op *opline; in zend_inference_calc_range() local
1000 op_array, ssa, opline, &ssa->ops[line], opline->opcode, tmp); in zend_inference_calc_range()
1356 opline++; in zend_inference_calc_range()
1380 opline++; in zend_inference_calc_range()
2443 opline--; in zend_update_type_info()
2869 opline++; in zend_update_type_info()
2903 opline++; in zend_update_type_info()
3025 opline++; in zend_update_type_info()
3036 opline++; in zend_update_type_info()
3837 return opline->opcode == ZEND_ADD || opline->opcode == ZEND_SUB in is_narrowable_instr()
[all …]
/PHP-7.4/sapi/phpdbg/
H A Dphpdbg_opcode.c99 if (opline->extended_value) { in phpdbg_decode_opline()
105 ops, opline, opline->op1, opline->op1_type, ZEND_VM_OP1_FLAGS(flags)); in phpdbg_decode_opline()
109 ops, opline, opline->op2, opline->op2_type, ZEND_VM_OP2_FLAGS(flags)); in phpdbg_decode_opline()
112 switch (opline->opcode) { in phpdbg_decode_opline()
120 decode[3] = phpdbg_decode_op(ops, opline, &opline->result, opline->result_type); in phpdbg_decode_opline()
123 decode[3] = phpdbg_decode_op(ops, opline, &opline->result, opline->result_type); in phpdbg_decode_opline()
154 zend_op *opline = (zend_op *) execute_data->opline; in phpdbg_print_opline_ex() local
160 opline->lineno, in phpdbg_print_opline_ex()
161 opline, in phpdbg_print_opline_ex()
168 opline->lineno, in phpdbg_print_opline_ex()
[all …]
/PHP-7.4/Zend/
H A Dzend_opcode.c509 zend_op *opline = op_array->opcodes, *end=opline+op_array->last; in zend_update_extended_stmts() local
516 opline++; in zend_update_extended_stmts()
520 opline->lineno = (opline+1)->lineno; in zend_update_extended_stmts()
526 opline++; in zend_update_extended_stmts()
781 opline--; in zend_calc_live_ranges()
970 opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, opline->extended_value); in pass_two()
998 opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, opline->extended_value); in pass_two()
1021 opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, opline->extended_value); in pass_two()
1026 ZEND_PASS_TWO_UPDATE_CONSTANT(op_array, opline, opline->op1); in pass_two()
1031 ZEND_PASS_TWO_UPDATE_CONSTANT(op_array, opline, opline->op2); in pass_two()
[all …]
H A Dzend_vm_execute.h2652 opline = EX(opline); in ZEND_USER_OPCODE_SPEC_HANDLER()
3373 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_SPEC_CONST_HANDLER()
3402 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPNZ_SPEC_CONST_HANDLER()
3436 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZNZ_SPEC_CONST_HANDLER()
3474 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_EX_SPEC_CONST_HANDLER()
3507 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPNZ_EX_SPEC_CONST_HANDLER()
13430 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_SPEC_TMPVAR_HANDLER()
13459 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPNZ_SPEC_TMPVAR_HANDLER()
13493 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZNZ_SPEC_TMPVAR_HANDLER()
13531 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_EX_SPEC_TMPVAR_HANDLER()
[all …]
H A Dzend_vm_def.h3010 opline = OP_JMP_ADDR(opline, opline->op2);
3039 opline = OP_JMP_ADDR(opline, opline->op2);
3071 opline = ZEND_OFFSET_TO_OPLINE(opline, opline->extended_value);
3073 opline = OP_JMP_ADDR(opline, opline->op2);
3111 opline = OP_JMP_ADDR(opline, opline->op2);
3144 opline = OP_JMP_ADDR(opline, opline->op2);
4466 gen_execute_data->opline = opline + 1;
7310 lcname = RT_CONSTANT(opline, opline->op1);
7579 opline = EX(opline);
7597 ZEND_VM_DISPATCH(opline->opcode, opline);
[all …]
H A Dzend_compile.c685 opline--; in zend_do_free()
700 opline--; in zend_do_free()
726 opline--; in zend_do_free()
1158 ++opline; in zend_build_delayed_early_binding_list()
1189 zval *lcname = RT_CONSTANT(opline, opline->op1); in zend_do_delayed_early_binding()
2429 opline->result.var = opline->op1.var; in zend_separate_if_call_and_write()
2886 if (opline && opline->opcode == ZEND_FETCH_OBJ_W) { in zend_compile_assign_ref()
4482 opline--; in zend_resolve_goto_label()
8214 opline->op1_type = opline->op2_type; in zend_compile_encaps_list()
8215 opline->op1 = opline->op2; in zend_compile_encaps_list()
[all …]

Completed in 509 milliseconds

123