Home
last modified time | relevance | path

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

1234

/PHP-8.1/Zend/Optimizer/
H A Dpass1.c120 …if (zend_optimizer_replace_by_const(op_array, opline + 1, opline->result_type, opline->result.var,… in zend_optimizer_pass1()
233 (opline - 1)->result.var == opline->op1.var) { in zend_optimizer_pass1()
534 ((opline + 1)->opcode == opline->opcode + 1 || in zend_optimizer_pass1()
539 (opline + 1)->op1_type == opline->result_type && in zend_optimizer_pass1()
540 (opline + 1)->op1.var == opline->result.var && in zend_optimizer_pass1()
551 (opline + 1)->opcode = opline->opcode; in zend_optimizer_pass1()
554 (opline + 1)->op1_type = (opline + 1)->op2_type; in zend_optimizer_pass1()
555 (opline + 1)->op1 = (opline + 1)->op2; in zend_optimizer_pass1()
606 COPY_NODE(opline->op1, opline->op2); in zend_optimizer_pass1()
626 ZEND_SET_OP_JMP_ADDR(opline, opline->op1, target_opline); in zend_optimizer_pass1()
[all …]
H A Dpass3.c55 zend_op *opline; in zend_optimizer_pass3() local
83 ZEND_SET_OP_JMP_ADDR(opline, opline->op1, target); in zend_optimizer_pass3()
99 opline->extended_value = ZEND_OPLINE_TO_OFFSET(opline, in zend_optimizer_pass3()
133 (opline-1)->extended_value = ZEND_OPLINE_TO_OFFSET((opline-1), ZEND_OP2_JMP_ADDR(opline-1)); in zend_optimizer_pass3()
134 ZEND_SET_OP_JMP_ADDR((opline-1), (opline-1)->op2, target); in zend_optimizer_pass3()
155 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target); in zend_optimizer_pass3()
192 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target); in zend_optimizer_pass3()
278 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target); in zend_optimizer_pass3()
311 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target); in zend_optimizer_pass3()
347 ZEND_SET_OP_JMP_ADDR(opline, opline->op1, target); in zend_optimizer_pass3()
[all …]
H A Dcompact_literals.c317 opline++; in zend_optimizer_compact_literals()
521 opline->op1.constant = map[opline->op1.constant]; in zend_optimizer_compact_literals()
524 opline->op2.constant = map[opline->op2.constant]; in zend_optimizer_compact_literals()
633 opline->result.num = func_slot[opline->op2.constant]; in zend_optimizer_compact_literals()
637 func_slot[opline->op2.constant] = opline->result.num; in zend_optimizer_compact_literals()
671 opline->result.num = class_slot[opline->op1.constant]; in zend_optimizer_compact_literals()
675 class_slot[opline->op1.constant] = opline->result.num; in zend_optimizer_compact_literals()
766 opline->op2.num = class_slot[opline->op1.constant]; in zend_optimizer_compact_literals()
770 class_slot[opline->op1.constant] = opline->op2.num; in zend_optimizer_compact_literals()
816 opline++; in zend_optimizer_compact_literals()
[all …]
H A Doptimize_func_calls.c40 zend_op *opline; member
52 switch (opline->opcode) { in zend_delete_call_instructions()
59 MAKE_NOP(opline); in zend_delete_call_instructions()
78 MAKE_NOP(opline); in zend_delete_call_instructions()
82 opline->result.var = 0; in zend_delete_call_instructions()
91 opline--; in zend_delete_call_instructions()
145 MAKE_NOP(opline); in zend_try_inline_call()
181 while (opline < end) { in zend_optimize_func_calls()
182 switch (opline->opcode) { in zend_optimize_func_calls()
198 call_stack[call].opline = opline; in zend_optimize_func_calls()
[all …]
H A Dzend_optimizer.c357 (opline + 1)->op2.var == opline->result.var) { in zend_optimizer_update_op2_const()
637 opline++; in zend_optimizer_replace_by_const()
694 …ZEND_SET_OP_JMP_ADDR(opline, opline->op1, ZEND_OP1_JMP_ADDR(opline) - shiftlist[ZEND_OP1_JMP_ADDR( in zend_optimizer_shift_jump()
697opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, ZEND_OFFSET_TO_OPLINE_NUM(op_… in zend_optimizer_shift_jump()
709 …ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP2_JMP_ADDR(opline) - shiftlist[ZEND_OP2_JMP_ADDR( in zend_optimizer_shift_jump()
713 …ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP2_JMP_ADDR(opline) - shiftlist[ZEND_OP2_JMP_ADDR( in zend_optimizer_shift_jump()
1026 opline++; in zend_revert_pass_two()
1144 opline++; in zend_redo_pass_two()
1267 opline++; in zend_redo_pass_two_ex()
1301 Z_STR_P(RT_CONSTANT(opline, opline->op2))); in zend_adjust_fcall_stack_size()
[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()
446 COPY_NODE(opline->op1, opline->op2); in zend_optimize_block()
608 COPY_NODE(opline->op1, opline->op2); in zend_optimize_block()
619 opline->opcode = INV_COND(opline->opcode); in zend_optimize_block()
801 COPY_NODE(opline->op1, opline->op2); in zend_optimize_block()
941 if (opline->op1_type == opline->result_type && in zend_optimize_block()
942 opline->op1.var == opline->result.var) { in zend_optimize_block()
971 opline++; in zend_optimize_block()
1135 opline->op2.num = map[opline->op2.num]; in assemble_code_blocks()
[all …]
H A Doptimize_temp_vars_5.c50 zend_op *opline, *end; in zend_optimize_temporary_variables() local
66 while (opline >= end) { in zend_optimize_temporary_variables()
68 start_of_T[VAR_NUM(opline->result.var) - offset] = opline; in zend_optimize_temporary_variables()
70 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()
112 opline->opcode == ZEND_FREE || in zend_optimize_temporary_variables()
114 zend_op *curr = opline; in zend_optimize_temporary_variables()
154 if (start_of_T[currT] == opline) { in zend_optimize_temporary_variables()
164 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()
268 zend_op *opline, *end; in zend_build_dfg() local
276 end = opline + blocks[j].len; in zend_build_dfg()
[all …]
H A Ddfa_pass.c808 COPY_NODE(opline->op1, opline->op2); in zend_dfa_optimize_jmps()
834 COPY_NODE(opline->op1, opline->op2); in zend_dfa_optimize_jmps()
897 opline->op1.num = opline->op2.num; in zend_dfa_optimize_jmps()
963 COPY_NODE(opline->op1, opline->op2); in zend_dfa_optimize_jmps()
979 COPY_NODE(opline->op1, opline->op2); in zend_dfa_optimize_jmps()
1272 opline->op1.var = opline->op2.var; in zend_dfa_optimize_op_array()
1294 opline->op1.var = opline->op2.var; in zend_dfa_optimize_op_array()
1339 opline->op2.var = opline->op1.var; in zend_dfa_optimize_op_array()
1669 opline->op1_type = opline->op2_type; in zend_dfa_optimize_op_array()
1670 opline->op1.var = opline->op2.var; in zend_dfa_optimize_op_array()
[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 Dzend_inference.h41 if (opline->opN##_type == IS_CONST) { \
42 zval *zv = CRT_CONSTANT(opline->opN); \
45 return (opline->opN##_type != IS_UNUSED && \
56 if (opline->opN##_type == IS_CONST) { \
57 zval *zv = CRT_CONSTANT(opline->opN); \
79 if (opline->opN##_type == IS_CONST) { \
80 zval *zv = CRT_CONSTANT(opline->opN); \
102 if (opline->opN##_type == IS_CONST) { \
103 zval *zv = CRT_CONSTANT(opline->opN); \
119 if (opline->opN##_type == IS_CONST) { \
[all …]
H A Dcompact_vars.c37 zend_op *opline = &op_array->opcodes[i]; in zend_optimizer_compact_vars() local
38 if (opline->op1_type & (IS_CV|IS_VAR|IS_TMP_VAR)) { in zend_optimizer_compact_vars()
41 if (opline->op2_type & (IS_CV|IS_VAR|IS_TMP_VAR)) { in zend_optimizer_compact_vars()
44 if (opline->result_type & (IS_CV|IS_VAR|IS_TMP_VAR)) { in zend_optimizer_compact_vars()
46 if (opline->opcode == ZEND_ROPE_INIT) { in zend_optimizer_compact_vars()
85 zend_op *opline = &op_array->opcodes[i]; in zend_optimizer_compact_vars() local
86 if (opline->op1_type & (IS_CV|IS_VAR|IS_TMP_VAR)) { in zend_optimizer_compact_vars()
87 opline->op1.var = NUM_VAR(vars_map[VAR_NUM(opline->op1.var)]); in zend_optimizer_compact_vars()
89 if (opline->op2_type & (IS_CV|IS_VAR|IS_TMP_VAR)) { in zend_optimizer_compact_vars()
90 opline->op2.var = NUM_VAR(vars_map[VAR_NUM(opline->op2.var)]); in zend_optimizer_compact_vars()
[all …]
H A Descape_analysis.c156 switch (opline->opcode) { in is_allocation_def()
192 switch (opline->opcode) { in is_allocation_def()
221 switch (opline->opcode) { in is_local_def()
240 switch (opline->opcode) { in is_local_def()
265 switch (opline->opcode) { in is_escape_use()
318 opline--; in is_escape_use()
320 if (opline->op1_type != IS_CV in is_escape_use()
334 switch (opline->opcode) { in is_escape_use()
336 if (opline->op1_type != IS_CV in is_escape_use()
342 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 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_ssa.c300 opline->op1.var == (opline-1)->result.var) { in place_essa_pis()
311 op_array, build_flags, opline, (opline-1)->op1.var, &val2); in place_essa_pis()
318 op_array, build_flags, opline, (opline-1)->op2.var, &val1); in place_essa_pis()
440 opline->op1.var == (opline-1)->result.var && in place_essa_pis()
462 opline->op1.var == (opline-1)->result.var && in place_essa_pis()
474 opline->op1.var == (opline-1)->result.var && (opline-1)->op1_type == IS_CV) { in place_essa_pis()
489 opline->op1.var == (opline-1)->result.var) { in place_essa_pis()
495 val = CRT_CONSTANT_EX(op_array, (opline-1), (opline-1)->op2); in place_essa_pis()
498 val = CRT_CONSTANT_EX(op_array, (opline-1), (opline-1)->op1); in place_essa_pis()
526 opline->op1.var == (opline-1)->result.var && (opline-1)->op1_type == IS_CV && in place_essa_pis()
[all …]
H A Dzend_dump.c436 zend_dump_var(op_array, opline->result_type, EX_VAR_TO_NUM(opline->result.var)); in zend_dump_op()
609 zend_dump_var(op_array, opline->op1_type, EX_VAR_TO_NUM(opline->op1.var)); in zend_dump_op()
613 zend_dump_var(op_array, opline->op1_type, EX_VAR_TO_NUM(opline->op1.var)); in zend_dump_op()
631 zend_dump_unused_op(opline, opline->op1, op1_flags); in zend_dump_op()
670 zend_dump_var(op_array, opline->op2_type, EX_VAR_TO_NUM(opline->op2.var)); in zend_dump_op()
674 zend_dump_var(op_array, opline->op2_type, EX_VAR_TO_NUM(opline->op2.var)); in zend_dump_op()
694 zend_dump_unused_op(opline, opline->op2, op2_flags); in zend_dump_op()
1009 const zend_op *opline; in zend_dump_op_array() local
1017 opline++; in zend_dump_op_array()
1077 while (opline < end) { in zend_dump_op_array()
[all …]
H A Dsccp.c213 switch (opline->opcode) { in can_replace_op1()
282 switch (opline->opcode) { in can_replace_op2()
302 switch (opline->opcode) { in try_replace_op1()
351 switch (opline->opcode) { in try_replace_op2()
362 MAKE_NOP(opline); in try_replace_op2()
997 switch (opline->opcode) { in sccp_visit_instr()
1360 opline++; in sccp_visit_instr()
1375 switch (opline->opcode) { in sccp_visit_instr()
1812 zend_op *opline = call->arg_info[i].opline; in sccp_visit_instr() local
1813 if (opline->opcode != ZEND_SEND_VAL && opline->opcode != ZEND_SEND_VAR) { in sccp_visit_instr()
[all …]
/PHP-8.1/ext/opcache/jit/
H A Dzend_jit_vm_helpers.c88 opline = EX(opline); in zend_jit_leave_nested_func_helper()
217 const zend_op *opline = EX(opline); in zend_jit_func_counter_helper() local
237 const zend_op *opline = EX(opline); in zend_jit_loop_counter_helper() local
258 const zend_op *opline = EX(opline); in _zend_quick_get_constant() local
313 const zend_op *opline = EX(opline); in zend_jit_trace_counter_helper() local
578 opline = EX(opline) = op;
582 const zend_op *opline = EX(opline); local
873 opline = EX(opline);
1034 opline = EX(opline);
1054 opline = EX(opline);
[all …]
H A Dzend_jit_trace.c1037 opline = p->opline; in zend_jit_trace_find_init_fcall_op()
1400 opline = p->opline; in zend_jit_trace_build_tssa()
1660 opline = p->opline; in zend_jit_trace_build_tssa()
4039 opline = p[1].opline; in zend_jit_trace()
4290 opline = p->opline; in zend_jit_trace()
7016 opline = p->opline; in zend_jit_trace()
7377 opline = p->opline; in zend_jit_dump_trace()
7625 EX(opline) = opline; in zend_jit_trace_hot_root()
7733 opline = EX(opline); in zend_jit_trace_hot_root()
8201 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, \
337 zend_jit_hash(opline)
505 const zend_op *opline; member
706 if (trace->opline == opline + 1) { in zend_jit_trace_get_exit_opline()
709 return OP_JMP_ADDR(opline, opline->op2); in zend_jit_trace_get_exit_opline()
710 } else if (trace->opline == OP_JMP_ADDR(opline, opline->op2)) { in zend_jit_trace_get_exit_opline()
713 return opline + 1; in zend_jit_trace_get_exit_opline()
[all …]
H A Dzend_jit.c373 opline++; in zend_jit_needs_call_chain()
434 opline++; in zend_jit_needs_call_chain()
448 opline++; in zend_jit_needs_call_chain()
474 opline++; in zend_jit_needs_call_chain()
2656 && (opline+1)->op1.var == opline->result.var) { in zend_jit_next_is_send_result()
3457 && (opline+1)->op1.var == opline->result.var) { in zend_jit()
3491 && (opline+1)->op1.var == opline->result.var) { in zend_jit()
3517 && (opline+1)->op1.var == opline->result.var) { in zend_jit()
3541 && (opline+1)->op1.var == opline->result.var) { in zend_jit()
3661 && (opline+1)->op1.var == opline->result.var) { in zend_jit()
[all …]
/PHP-8.1/Zend/
H A Dzend_vm_execute.h3150 opline = EX(opline); in ZEND_USER_OPCODE_SPEC_HANDLER()
4054 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_SPEC_CONST_HANDLER()
4086 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPNZ_SPEC_CONST_HANDLER()
4123 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZNZ_SPEC_CONST_HANDLER()
4162 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_EX_SPEC_CONST_HANDLER()
4194 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPNZ_EX_SPEC_CONST_HANDLER()
14160 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_SPEC_TMPVAR_HANDLER()
14192 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPNZ_SPEC_TMPVAR_HANDLER()
14229 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZNZ_SPEC_TMPVAR_HANDLER()
14268 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_EX_SPEC_TMPVAR_HANDLER()
[all …]
H A Dzend_opcode.c617 zend_op *opline = op_array->opcodes, *end=opline+op_array->last; in zend_update_extended_stmts() local
624 opline++; in zend_update_extended_stmts()
628 opline->lineno = (opline+1)->lineno; in zend_update_extended_stmts()
634 opline++; in zend_update_extended_stmts()
902 opline--; in zend_calc_live_ranges()
1091 opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, opline->extended_value); in pass_two()
1120 opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, opline->extended_value); in pass_two()
1144 opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, opline->extended_value); in pass_two()
1149 ZEND_PASS_TWO_UPDATE_CONSTANT(op_array, opline, opline->op1); in pass_two()
1154 ZEND_PASS_TWO_UPDATE_CONSTANT(op_array, opline, opline->op2); in pass_two()
[all …]
H A Dzend_vm_def.h1000 function_name = RT_CONSTANT(opline, opline->op2); in ZEND_VM_COLD_HELPER()
2967 opline = OP_JMP_ADDR(opline, opline->op2);
2999 opline = OP_JMP_ADDR(opline, opline->op2);
3034 opline = ZEND_OFFSET_TO_OPLINE(opline, opline->extended_value);
3036 opline = OP_JMP_ADDR(opline, opline->op2);
3075 opline = OP_JMP_ADDR(opline, opline->op2);
3107 opline = OP_JMP_ADDR(opline, opline->op2);
4485 gen_execute_data->opline = opline + 1;
7935 opline = EX(opline);
7954 ZEND_VM_DISPATCH(opline->opcode, opline);
[all …]
H A Dzend_compile.c710 opline--; in zend_do_free()
754 opline--; in zend_do_free()
780 opline--; in zend_do_free()
1341 ++opline; in zend_build_delayed_early_binding_list()
1372 zval *lcname = RT_CONSTANT(opline, opline->op1); in zend_do_delayed_early_binding()
2827 opline->result.var = opline->op1.var; in zend_separate_if_call_and_write()
3376 if (opline && opline->opcode == ZEND_FETCH_OBJ_W) { in zend_compile_assign_ref()
5198 opline--; in zend_resolve_goto_label()
9696 opline->op1_type = opline->op2_type; in zend_compile_encaps_list()
9697 opline->op1 = opline->op2; in zend_compile_encaps_list()
[all …]

Completed in 429 milliseconds

1234