Home
last modified time | relevance | path

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

1234

/php-src/Zend/
H A Dzend_verify_type_inference.h132 if (opline->op1_use_type in zend_verify_inference_use()
136 …zend_verify_type_inference(EX_VAR(opline->op1.var), opline->op1_use_type, opline->op1_type, execut… in zend_verify_inference_use()
138 if (opline->op2_use_type in zend_verify_inference_use()
140 …zend_verify_type_inference(EX_VAR(opline->op2.var), opline->op2_use_type, opline->op2_type, execut… in zend_verify_inference_use()
144 …end_verify_type_inference(EX_VAR(opline->result.var), opline->result_use_type, opline->result_type… in zend_verify_inference_use()
164 …zend_verify_type_inference(EX_VAR(opline->op1.var), opline->op1_def_type, opline->op1_type, execut… in zend_verify_inference_def()
171 …zend_verify_type_inference(EX_VAR(opline->op2.var), opline->op2_def_type, opline->op2_type, execut… in zend_verify_inference_def()
191 …end_verify_type_inference(EX_VAR(opline->result.var), opline->result_def_type, opline->result_type… in zend_verify_inference_def()
194 if ((opline->opcode == ZEND_RETURN || opline->opcode == ZEND_RETURN_BY_REF) in zend_verify_inference_def()
199 const zend_op *opline = execute_data->prev_execute_data->opline; in zend_verify_inference_def() local
[all …]
H A Dzend_vm_execute.h3299 opline = EX(opline); in ZEND_USER_OPCODE_SPEC_HANDLER()
4297 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_SPEC_CONST_HANDLER()
4329 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPNZ_SPEC_CONST_HANDLER()
4370 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_EX_SPEC_CONST_HANDLER()
4402 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPNZ_EX_SPEC_CONST_HANDLER()
14641 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_SPEC_TMPVAR_HANDLER()
14673 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPNZ_SPEC_TMPVAR_HANDLER()
14714 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_EX_SPEC_TMPVAR_HANDLER()
14746 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPNZ_EX_SPEC_TMPVAR_HANDLER()
39423 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_SPEC_CV_HANDLER()
[all …]
H A Dzend_opcode.c646 zend_op *opline = op_array->opcodes, *end=opline+op_array->last; in zend_update_extended_stmts() local
653 opline++; in zend_update_extended_stmts()
657 opline->lineno = (opline+1)->lineno; in zend_update_extended_stmts()
663 opline++; in zend_update_extended_stmts()
931 opline--; in zend_calc_live_ranges()
1095 ZEND_PASS_TWO_UPDATE_JMP_TARGET(op_array, opline, opline->op1); in pass_two()
1149 opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, opline->extended_value); in pass_two()
1173 opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, opline->extended_value); in pass_two()
1178 ZEND_PASS_TWO_UPDATE_CONSTANT(op_array, opline, opline->op1); in pass_two()
1183 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);
4538 gen_execute_data->opline = opline + 1;
7828 …do_bind_class(RT_CONSTANT(opline, opline->op1), (OP2_TYPE == IS_CONST) ? Z_STR_P(RT_CONSTANT(oplin…
8119 opline = EX(opline);
8138 ZEND_VM_DISPATCH(opline->opcode, opline);
9583 OPLINE = OP_JMP_ADDR(opline, opline->op2);
[all …]
/php-src/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()
321 COPY_NODE(opline->op1, opline->op2); in zend_optimizer_pass1()
324 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()
792 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()
1093 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.c700 opline++; in zend_optimizer_replace_by_const()
756 …ZEND_SET_OP_JMP_ADDR(opline, opline->op1, ZEND_OP1_JMP_ADDR(opline) - shiftlist[ZEND_OP1_JMP_ADDR( in zend_optimizer_shift_jump()
770 …ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP2_JMP_ADDR(opline) - shiftlist[ZEND_OP2_JMP_ADDR( in zend_optimizer_shift_jump()
774 …ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP2_JMP_ADDR(opline) - shiftlist[ZEND_OP2_JMP_ADDR( in zend_optimizer_shift_jump()
779opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, ZEND_OFFSET_TO_OPLINE_NUM(op_… in zend_optimizer_shift_jump()
790opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, ZEND_OFFSET_TO_OPLINE_NUM(op_… in zend_optimizer_shift_jump()
1157 opline++; in zend_revert_pass_two()
1278 opline++; in zend_redo_pass_two()
1420 opline++; in zend_redo_pass_two_ex()
1454 Z_STR_P(RT_CONSTANT(opline, opline->op2))); in zend_adjust_fcall_stack_size()
[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()
78 while (opline >= end) { in zend_optimize_temporary_variables()
81 if (opline->opcode == ZEND_ROPE_END) { in zend_optimize_temporary_variables()
107 (opline->opcode == ZEND_RETURN || in zend_optimize_temporary_variables()
110 opline->opcode == ZEND_FREE || in zend_optimize_temporary_variables()
112 zend_op *curr = opline; in zend_optimize_temporary_variables()
155 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()
126 next = opline + 1; in _zend_dfg_add_use_def_op()
136 next = opline + 1; in _zend_dfg_add_use_def_op()
270 zend_op *opline, *end; in zend_build_dfg() local
278 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.c791 COPY_NODE(opline->op1, opline->op2); in zend_dfa_optimize_jmps()
817 COPY_NODE(opline->op1, opline->op2); in zend_dfa_optimize_jmps()
903 COPY_NODE(opline->op1, opline->op2); in zend_dfa_optimize_jmps()
919 COPY_NODE(opline->op1, opline->op2); in zend_dfa_optimize_jmps()
1212 opline->op1.var = opline->op2.var; in zend_dfa_optimize_op_array()
1234 opline->op1.var = opline->op2.var; in zend_dfa_optimize_op_array()
1279 opline->op2.var = opline->op1.var; in zend_dfa_optimize_op_array()
1630 opline->result.var = opline->op1.var; in zend_dfa_optimize_op_array()
1631 opline->op1_type = opline->op2_type; in zend_dfa_optimize_op_array()
1632 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.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 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()
632 zend_dump_var(op_array, opline->op1_type, EX_VAR_TO_NUM(opline->op1.var)); in zend_dump_op()
636 zend_dump_var(op_array, opline->op1_type, EX_VAR_TO_NUM(opline->op1.var)); in zend_dump_op()
654 zend_dump_unused_op(opline, opline->op1, op1_flags); in zend_dump_op()
693 zend_dump_var(op_array, opline->op2_type, EX_VAR_TO_NUM(opline->op2.var)); in zend_dump_op()
697 zend_dump_var(op_array, opline->op2_type, EX_VAR_TO_NUM(opline->op2.var)); in zend_dump_op()
717 zend_dump_unused_op(opline, opline->op2, op2_flags); in zend_dump_op()
1032 const zend_op *opline; in zend_dump_op_array() local
1040 opline++; in zend_dump_op_array()
1100 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-src/ext/opcache/jit/
H A Dzend_jit_vm_helpers.c83 opline = EX(opline); in zend_jit_leave_nested_func_helper()
199 const zend_op *opline = EX(opline); in zend_jit_undefined_long_key() local
215 const zend_op *opline = EX(opline); in zend_jit_undefined_string_key() local
249 const zend_op *opline = EX(opline); in zend_jit_func_counter_helper() local
269 const zend_op *opline = EX(opline); in zend_jit_loop_counter_helper() local
290 const zend_op *opline = EX(opline); in _zend_quick_get_constant() local
610 opline = EX(opline) = op;
915 opline = EX(opline);
1076 opline = EX(opline);
1096 opline = EX(opline);
[all …]
H A Dzend_jit_trace.c1101 opline = p->opline; in zend_jit_trace_find_init_fcall_op()
1467 opline = p->opline; in zend_jit_trace_build_tssa()
1724 opline = p->opline; in zend_jit_trace_build_tssa()
4048 opline = p[1].opline; in zend_jit_trace()
4283 opline = p->opline; in zend_jit_trace()
7119 opline = p->opline; in zend_jit_trace()
7612 opline = p->opline; in zend_jit_dump_trace()
7885 EX(opline) = opline; in zend_jit_trace_hot_root()
7994 opline = EX(opline); in zend_jit_trace_hot_root()
8498 EX(opline) = opline; in zend_jit_trace_exit()
[all …]
H A Dzend_jit.c326 opline++; in zend_jit_needs_call_chain()
388 opline++; in zend_jit_needs_call_chain()
402 opline++; in zend_jit_needs_call_chain()
428 opline++; in zend_jit_needs_call_chain()
1229 && (opline+1)->op1.var == opline->result.var) { in zend_jit_next_is_send_result()
2003 && (opline+1)->op1.var == opline->result.var) { in zend_jit()
2039 && (opline+1)->op1.var == opline->result.var) { in zend_jit()
2069 && (opline+1)->op1.var == opline->result.var) { in zend_jit()
2092 && (opline+1)->op1.var == opline->result.var) { in zend_jit()
2169 && (opline+1)->op1.var == opline->result.var) { in zend_jit()
[all …]
H A Dzend_jit_internal.h70 (((opline)->type == IS_CONST) ? \
76 ZEND_ADDR_CONST_ZVAL(RT_CONSTANT(opline, (opline)->op)) : \
83 OP_ADDR(opline, type, op))
86 OP_ADDR(opline, op1_type, op1)
88 OP_ADDR(opline, op2_type, op2)
241 zend_jit_hash(opline)
653 if (trace->opline == opline + 1) { in zend_jit_trace_get_exit_opline()
656 return OP_JMP_ADDR(opline, opline->op2); in zend_jit_trace_get_exit_opline()
657 } else if (trace->opline == OP_JMP_ADDR(opline, opline->op2)) { in zend_jit_trace_get_exit_opline()
660 return opline + 1; in zend_jit_trace_get_exit_opline()
[all …]
H A Dzend_jit_ir.c2900 memset(&opline, 0, sizeof(opline)); in zend_jit_setup_disasm()
5393 jit_FREE_OP(jit, opline->op1_type, opline->op1, op1_info, opline); in zend_jit_add_arrays()
5394 jit_FREE_OP(jit, opline->op2_type, opline->op2, op2_info, opline); in zend_jit_add_arrays()
7052 jit_FREE_OP(jit, opline->op2_type, opline->op2, op2_info, opline); in zend_jit_identical()
7083 jit_FREE_OP(jit, opline->op2_type, opline->op2, op2_info, opline); in zend_jit_identical()
7300 jit_FREE_OP(jit, opline->op1_type, opline->op1, op1_info, opline); in zend_jit_bool_jmpznz()
7314 jit_FREE_OP(jit, opline->op1_type, opline->op1, op1_info, opline); in zend_jit_bool_jmpznz()
9099 jit_FREE_OP(jit, opline->op1_type, opline->op1, op1_info, opline);
12587 jit_FREE_OP(jit, opline->op2_type, opline->op2, op2_info, opline);
12750 jit_FREE_OP(jit, opline->op2_type, opline->op2, op2_info, opline);
[all …]

Completed in 441 milliseconds

1234