Home
last modified time | relevance | path

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

1234

/PHP-8.3/Zend/Optimizer/
H A Dpass1.c44 …if (zend_optimizer_replace_by_const(op_array, opline + 1, opline->result_type, opline->result.var,… in replace_by_const_or_qm_assign()
45 MAKE_NOP(opline); in replace_by_const_or_qm_assign()
49 SET_UNUSED(opline->op2); in replace_by_const_or_qm_assign()
62 while (opline < end) { in zend_optimizer_pass1()
63 switch (opline->opcode) { in zend_optimizer_pass1()
94 if (opline->op1_type == IS_CONST && opline->op2_type == IS_CONST && in zend_optimizer_pass1()
95 …zend_optimizer_eval_binary_op(&result, opline->opcode, &ZEND_OP1_LITERAL(opline), &ZEND_OP2_LITERA… in zend_optimizer_pass1()
101 if (opline->extended_value == ZEND_CONCAT && opline->op2_type == IS_CONST in zend_optimizer_pass1()
328 COPY_NODE(opline->op1, opline->op2); in zend_optimizer_pass1()
331 MAKE_NOP(opline); in zend_optimizer_pass1()
[all …]
H A Dpass3.c55 zend_op *opline; in zend_optimizer_pass3() local
66 while (opline < end) { in zend_optimizer_pass3()
68 switch (opline->opcode) { in zend_optimizer_pass3()
83 ZEND_SET_OP_JMP_ADDR(opline, opline->op1, target); in zend_optimizer_pass3()
88 MAKE_NOP(opline); in zend_optimizer_pass3()
95 *opline = *target; in zend_optimizer_pass3()
125 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target); in zend_optimizer_pass3()
156 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target); in zend_optimizer_pass3()
226 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target); in zend_optimizer_pass3()
232 opline->op2.num = 0; in zend_optimizer_pass3()
[all …]
H A Dcompact_literals.c290 opline++; in zend_optimizer_compact_literals()
494 opline->op1.constant = map[opline->op1.constant]; in zend_optimizer_compact_literals()
497 opline->op2.constant = map[opline->op2.constant]; in zend_optimizer_compact_literals()
606 opline->result.num = func_slot[opline->op2.constant]; in zend_optimizer_compact_literals()
610 func_slot[opline->op2.constant] = opline->result.num; in zend_optimizer_compact_literals()
644 opline->result.num = class_slot[opline->op1.constant]; in zend_optimizer_compact_literals()
648 class_slot[opline->op1.constant] = opline->result.num; in zend_optimizer_compact_literals()
741 opline->op2.num = class_slot[opline->op1.constant]; in zend_optimizer_compact_literals()
745 class_slot[opline->op1.constant] = opline->op2.num; in zend_optimizer_compact_literals()
791 opline++; in zend_optimizer_compact_literals()
[all …]
H A Dblock_pass.c63 #define SET_VAR_SOURCE(opline) Tsource[VAR_NUM(opline->result.var)] = opline argument
161 COPY_NODE(opline->result, opline->op1); in zend_optimize_block()
453 COPY_NODE(opline->op1, opline->op2); in zend_optimize_block()
615 COPY_NODE(opline->op1, opline->op2); in zend_optimize_block()
626 opline->opcode = INV_COND(opline->opcode); in zend_optimize_block()
761 COPY_NODE(opline->op1, opline->op2); in zend_optimize_block()
901 if (opline->op1_type == opline->result_type && in zend_optimize_block()
902 opline->op1.var == opline->result.var) { in zend_optimize_block()
931 opline++; in zend_optimize_block()
1092 opline->op2.num = map[opline->op2.num]; in assemble_code_blocks()
[all …]
H A Doptimize_func_calls.c33 zend_op *opline; member
45 switch (opline->opcode) { in zend_delete_call_instructions()
52 MAKE_NOP(opline); in zend_delete_call_instructions()
74 opline--; in zend_delete_call_instructions()
126 SET_UNUSED(opline->op2); in zend_try_inline_call()
128 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()
181 call_stack[call].opline = opline; in zend_optimize_func_calls()
248 opline->opcode -= 9; in zend_optimize_func_calls()
[all …]
H A Dzend_optimizer.c699 opline++; in zend_optimizer_replace_by_const()
754 …ZEND_SET_OP_JMP_ADDR(opline, opline->op1, ZEND_OP1_JMP_ADDR(opline) - shiftlist[ZEND_OP1_JMP_ADDR( in zend_optimizer_shift_jump()
767 …ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP2_JMP_ADDR(opline) - shiftlist[ZEND_OP2_JMP_ADDR( in zend_optimizer_shift_jump()
771 …ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP2_JMP_ADDR(opline) - shiftlist[ZEND_OP2_JMP_ADDR( in zend_optimizer_shift_jump()
776opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, ZEND_OFFSET_TO_OPLINE_NUM(op_… in zend_optimizer_shift_jump()
787opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, ZEND_OFFSET_TO_OPLINE_NUM(op_… in zend_optimizer_shift_jump()
1094 opline++; in zend_revert_pass_two()
1210 opline++; in zend_redo_pass_two()
1331 opline++; in zend_redo_pass_two_ex()
1365 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()
79 while (opline >= end) { in zend_optimize_temporary_variables()
82 if (opline->opcode == ZEND_ROPE_END) { in zend_optimize_temporary_variables()
108 (opline->opcode == ZEND_RETURN || in zend_optimize_temporary_variables()
111 opline->opcode == ZEND_FREE || in zend_optimize_temporary_variables()
113 zend_op *curr = opline; in zend_optimize_temporary_variables()
156 if (start_of_T[currT] == opline) { in zend_optimize_temporary_variables()
[all …]
H A Dzend_dfg.c43 && opline->result_type == IS_CV in _zend_dfg_add_use_def_op()
51 switch (opline->opcode) { in _zend_dfg_add_use_def_op()
71 next = opline + 1; in _zend_dfg_add_use_def_op()
86 next = opline + 1; in _zend_dfg_add_use_def_op()
101 next = opline + 1; in _zend_dfg_add_use_def_op()
113 next = opline + 1; in _zend_dfg_add_use_def_op()
125 next = opline + 1; in _zend_dfg_add_use_def_op()
135 next = opline + 1; in _zend_dfg_add_use_def_op()
269 zend_op *opline, *end; in zend_build_dfg() local
277 end = opline + blocks[j].len; in zend_build_dfg()
[all …]
H A Dnop_removal.c35 zend_op *end, *opline; in zend_optimizer_nop_removal() local
44 for (opline = op_array->opcodes; opline < end; opline++) { in zend_optimizer_nop_removal()
47 if (opline->opcode == ZEND_JMP && ZEND_OP1_JMP_ADDR(opline) > op_array->opcodes + i) { in zend_optimizer_nop_removal()
49 zend_op *target = ZEND_OP1_JMP_ADDR(opline) - 1; in zend_optimizer_nop_removal()
54 if (target == opline) { in zend_optimizer_nop_removal()
56 opline->opcode = ZEND_NOP; in zend_optimizer_nop_removal()
61 if (opline->opcode == ZEND_NOP) { in zend_optimizer_nop_removal()
67 *new_opline = *opline; in zend_optimizer_nop_removal()
68 zend_optimizer_migrate_jump(op_array, new_opline, opline); in zend_optimizer_nop_removal()
79 for (opline = op_array->opcodes; opline<end; opline++) { in zend_optimizer_nop_removal()
[all …]
H A Ddfa_pass.c790 COPY_NODE(opline->op1, opline->op2); in zend_dfa_optimize_jmps()
816 COPY_NODE(opline->op1, opline->op2); in zend_dfa_optimize_jmps()
902 COPY_NODE(opline->op1, opline->op2); in zend_dfa_optimize_jmps()
918 COPY_NODE(opline->op1, opline->op2); in zend_dfa_optimize_jmps()
1211 opline->op1.var = opline->op2.var; in zend_dfa_optimize_op_array()
1233 opline->op1.var = opline->op2.var; in zend_dfa_optimize_op_array()
1278 opline->op2.var = opline->op1.var; in zend_dfa_optimize_op_array()
1629 opline->result.var = opline->op1.var; in zend_dfa_optimize_op_array()
1630 opline->op1_type = opline->op2_type; in zend_dfa_optimize_op_array()
1631 opline->op1.var = opline->op2.var; in zend_dfa_optimize_op_array()
[all …]
H A Dzend_inference.h42 if (opline->opN##_type == IS_CONST) { \
43 zval *zv = CRT_CONSTANT(opline->opN); \
46 return (opline->opN##_type != IS_UNUSED && \
57 if (opline->opN##_type == IS_CONST) { \
58 zval *zv = CRT_CONSTANT(opline->opN); \
74 if (opline->opN##_type == IS_CONST) { \
75 zval *zv = CRT_CONSTANT(opline->opN); \
91 if (opline->opN##_type == IS_CONST) { \
92 zval *zv = CRT_CONSTANT(opline->opN); \
108 if (opline->opN##_type == IS_CONST) { \
[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 Dzend_optimizer_internal.h30 #define ZEND_OP1_LITERAL(opline) (op_array)->literals[(opline)->op1.constant] argument
31 #define ZEND_OP1_JMP_ADDR(opline) OP_JMP_ADDR(opline, (opline)->op1) argument
32 #define ZEND_OP2_LITERAL(opline) (op_array)->literals[(opline)->op2.constant] argument
33 #define ZEND_OP2_JMP_ADDR(opline) OP_JMP_ADDR(opline, (opline)->op2) argument
76 static inline bool zend_optimizer_is_loop_var_free(const zend_op *opline) { in zend_optimizer_is_loop_var_free() argument
77 return (opline->opcode == ZEND_FE_FREE && opline->extended_value != ZEND_FREE_ON_RETURN) in zend_optimizer_is_loop_var_free()
78 || (opline->opcode == ZEND_FREE && opline->extended_value == ZEND_FREE_SWITCH); in zend_optimizer_is_loop_var_free()
81 void zend_optimizer_convert_to_free_op1(zend_op_array *op_array, zend_op *opline);
93 zend_op *opline,
96 zend_op *opline,
[all …]
H A Descape_analysis.c156 switch (opline->opcode) { in is_allocation_def()
162 script, op_array, opline); in is_allocation_def()
198 switch (opline->opcode) { in is_allocation_def()
227 switch (opline->opcode) { in is_local_def()
236 script, op_array, opline); in is_local_def()
252 switch (opline->opcode) { in is_local_def()
277 switch (opline->opcode) { in is_escape_use()
330 opline--; in is_escape_use()
346 switch (opline->opcode) { in is_escape_use()
354 if (opline->op2_type == IS_CV || opline->result_type != IS_UNUSED) { in is_escape_use()
[all …]
H A Dzend_dump.c454 zend_dump_var(op_array, opline->result_type, EX_VAR_TO_NUM(opline->result.var)); in zend_dump_op()
627 zend_dump_var(op_array, opline->op1_type, EX_VAR_TO_NUM(opline->op1.var)); in zend_dump_op()
631 zend_dump_var(op_array, opline->op1_type, EX_VAR_TO_NUM(opline->op1.var)); in zend_dump_op()
649 zend_dump_unused_op(opline, opline->op1, op1_flags); in zend_dump_op()
688 zend_dump_var(op_array, opline->op2_type, EX_VAR_TO_NUM(opline->op2.var)); in zend_dump_op()
692 zend_dump_var(op_array, opline->op2_type, EX_VAR_TO_NUM(opline->op2.var)); in zend_dump_op()
712 zend_dump_unused_op(opline, opline->op2, op2_flags); in zend_dump_op()
1027 const zend_op *opline; in zend_dump_op_array() local
1035 opline++; in zend_dump_op_array()
1095 while (opline < end) { in zend_dump_op_array()
[all …]
H A Dzend_ssa.c299 opline->op1.var == (opline-1)->result.var) { in place_essa_pis()
310 op_array, build_flags, opline, (opline-1)->op1.var, &val2); in place_essa_pis()
317 op_array, build_flags, opline, (opline-1)->op2.var, &val1); in place_essa_pis()
439 opline->op1.var == (opline-1)->result.var && in place_essa_pis()
461 opline->op1.var == (opline-1)->result.var && in place_essa_pis()
473 opline->op1.var == (opline-1)->result.var && (opline-1)->op1_type == IS_CV) { in place_essa_pis()
488 opline->op1.var == (opline-1)->result.var) { in place_essa_pis()
494 val = CRT_CONSTANT_EX(op_array, (opline-1), (opline-1)->op2); in place_essa_pis()
497 val = CRT_CONSTANT_EX(op_array, (opline-1), (opline-1)->op1); in place_essa_pis()
525 opline->op1.var == (opline-1)->result.var && (opline-1)->op1_type == IS_CV && in place_essa_pis()
[all …]
/PHP-8.3/ext/opcache/jit/
H A Dzend_jit_vm_helpers.c88 opline = EX(opline); in zend_jit_leave_nested_func_helper()
204 const zend_op *opline = EX(opline); in zend_jit_undefined_long_key() local
220 const zend_op *opline = EX(opline); in zend_jit_undefined_string_key() local
254 const zend_op *opline = EX(opline); in zend_jit_func_counter_helper() local
274 const zend_op *opline = EX(opline); in zend_jit_loop_counter_helper() local
295 const zend_op *opline = EX(opline); in _zend_quick_get_constant() local
615 opline = EX(opline) = op;
920 opline = EX(opline);
1081 opline = EX(opline);
1101 opline = EX(opline);
[all …]
H A Dzend_jit_trace.c1037 opline = p->opline; in zend_jit_trace_find_init_fcall_op()
1402 opline = p->opline; in zend_jit_trace_build_tssa()
1662 opline = p->opline; in zend_jit_trace_build_tssa()
4055 opline = p[1].opline; in zend_jit_trace()
4306 opline = p->opline; in zend_jit_trace()
7019 opline = p->opline; in zend_jit_trace()
7459 opline = p->opline; in zend_jit_dump_trace()
7707 EX(opline) = opline; in zend_jit_trace_hot_root()
7816 opline = EX(opline); in zend_jit_trace_hot_root()
8284 EX(opline) = opline; in zend_jit_trace_exit()
[all …]
H A Dzend_jit_internal.h179 _zend_jit_decode_op((opline)->type, (opline)->op, opline, ZREG_NONE)
182 OP_ADDR(opline, op1_type, op1)
184 OP_ADDR(opline, op2_type, op2)
191 _zend_jit_decode_op((opline)->type, (opline)->_op, opline, \
339 zend_jit_hash(opline)
507 const zend_op *opline; member
720 if (trace->opline == opline + 1) { in zend_jit_trace_get_exit_opline()
723 return OP_JMP_ADDR(opline, opline->op2); in zend_jit_trace_get_exit_opline()
724 } else if (trace->opline == OP_JMP_ADDR(opline, opline->op2)) { in zend_jit_trace_get_exit_opline()
727 return opline + 1; in zend_jit_trace_get_exit_opline()
[all …]
H A Dzend_jit.c405 opline++; in zend_jit_needs_call_chain()
466 opline++; in zend_jit_needs_call_chain()
480 opline++; in zend_jit_needs_call_chain()
506 opline++; in zend_jit_needs_call_chain()
2669 && (opline+1)->op1.var == opline->result.var) { in zend_jit_next_is_send_result()
3469 && (opline+1)->op1.var == opline->result.var) { in zend_jit()
3502 && (opline+1)->op1.var == opline->result.var) { in zend_jit()
3527 && (opline+1)->op1.var == opline->result.var) { in zend_jit()
3550 && (opline+1)->op1.var == opline->result.var) { in zend_jit()
3668 && (opline+1)->op1.var == opline->result.var) { in zend_jit()
[all …]
H A Dzend_jit_x86.dasc2427 | // EX(opline) = opline
2444 | // opline = EX(opline)
2466 | // opline = EX(opline)
5081 | FREE_OP opline->op1_type, opline->op1, op1_info, 0, opline
5082 | FREE_OP opline->op2_type, opline->op2, op2_info, 0, opline
6790 | FREE_OP opline->op2_type, opline->op2, op2_info, 0, opline
6987 | FREE_OP opline->op2_type, opline->op2, op2_info, 0, opline
7040 | FREE_OP opline->op2_type, opline->op2, op2_info, 0, opline
11557 | // opline = EX(opline) + 1
12381 | FREE_OP opline->op2_type, opline->op2, op2_info, 0, opline
[all …]
/PHP-8.3/Zend/
H A Dzend_vm_execute.h3287 opline = EX(opline); in ZEND_USER_OPCODE_SPEC_HANDLER()
4199 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_SPEC_CONST_HANDLER()
4231 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPNZ_SPEC_CONST_HANDLER()
4272 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_EX_SPEC_CONST_HANDLER()
4304 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPNZ_EX_SPEC_CONST_HANDLER()
14520 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_SPEC_TMPVAR_HANDLER()
14552 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPNZ_SPEC_TMPVAR_HANDLER()
14593 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_EX_SPEC_TMPVAR_HANDLER()
14625 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPNZ_EX_SPEC_TMPVAR_HANDLER()
39292 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_SPEC_CV_HANDLER()
[all …]
H A Dzend_opcode.c637 zend_op *opline = op_array->opcodes, *end=opline+op_array->last; in zend_update_extended_stmts() local
644 opline++; in zend_update_extended_stmts()
648 opline->lineno = (opline+1)->lineno; in zend_update_extended_stmts()
654 opline++; in zend_update_extended_stmts()
922 opline--; in zend_calc_live_ranges()
1086 ZEND_PASS_TWO_UPDATE_JMP_TARGET(op_array, opline, opline->op1); in pass_two()
1139 opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, opline->extended_value); in pass_two()
1163 opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, opline->extended_value); in pass_two()
1168 ZEND_PASS_TWO_UPDATE_CONSTANT(op_array, opline, opline->op1); in pass_two()
1173 ZEND_PASS_TWO_UPDATE_CONSTANT(op_array, opline, opline->op2); in pass_two()
[all …]
H A Dzend_vm_def.h1003 function_name = RT_CONSTANT(opline, opline->op2); in ZEND_VM_COLD_HELPER()
3024 opline = OP_JMP_ADDR(opline, opline->op2);
3056 opline = OP_JMP_ADDR(opline, opline->op2);
3097 opline = OP_JMP_ADDR(opline, opline->op2);
3129 opline = OP_JMP_ADDR(opline, opline->op2);
4520 gen_execute_data->opline = opline + 1;
6777 ZEND_VM_JMP(OP_JMP_ADDR(opline, opline->op2));
7810 …do_bind_class(RT_CONSTANT(opline, opline->op1), (OP2_TYPE == IS_CONST) ? Z_STR_P(RT_CONSTANT(oplin…
8101 opline = EX(opline);
8120 ZEND_VM_DISPATCH(opline->opcode, opline);
[all …]
H A Dzend_compile.c731 opline--; in zend_do_free()
775 opline--; in zend_do_free()
799 opline--; in zend_do_free()
2947 opline->result.var = opline->op1.var; in zend_separate_if_call_and_write()
3061 if (opline && (opline->opcode == ZEND_FETCH_DIM_W in zend_delayed_compile_prop()
3509 if (opline && opline->opcode == ZEND_FETCH_OBJ_W) { in zend_compile_assign_ref()
5379 opline--; in zend_resolve_goto_label()
9183 if (opline && opline->opcode == ZEND_FETCH_DIM_RW) { in zend_compile_post_incdec()
9212 if (opline && opline->opcode == ZEND_FETCH_DIM_RW) { in zend_compile_pre_incdec()
10029 opline->op1_type = opline->op2_type; in zend_compile_encaps_list()
[all …]

Completed in 535 milliseconds

1234