Home
last modified time | relevance | path

Searched refs:opline (Results 1 – 25 of 85) 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.h3333 opline = EX(opline); in ZEND_USER_OPCODE_SPEC_HANDLER()
4463 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_SPEC_CONST_HANDLER()
4495 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPNZ_SPEC_CONST_HANDLER()
4536 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_EX_SPEC_CONST_HANDLER()
4568 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPNZ_EX_SPEC_CONST_HANDLER()
15001 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_SPEC_TMPVAR_HANDLER()
15033 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPNZ_SPEC_TMPVAR_HANDLER()
15074 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_EX_SPEC_TMPVAR_HANDLER()
15106 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPNZ_EX_SPEC_TMPVAR_HANDLER()
40495 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_SPEC_CV_HANDLER()
[all …]
H A Dzend_opcode.c654 zend_op *opline = op_array->opcodes, *end=opline+op_array->last; in zend_update_extended_stmts() local
661 opline++; in zend_update_extended_stmts()
665 opline->lineno = (opline+1)->lineno; in zend_update_extended_stmts()
671 opline++; in zend_update_extended_stmts()
940 opline--; in zend_calc_live_ranges()
1104 ZEND_PASS_TWO_UPDATE_JMP_TARGET(op_array, opline, opline->op1); in pass_two()
1158 opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, opline->extended_value); in pass_two()
1182 opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, opline->extended_value); in pass_two()
1187 ZEND_PASS_TWO_UPDATE_CONSTANT(op_array, opline, opline->op1); in pass_two()
1192 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()
3092 opline = OP_JMP_ADDR(opline, opline->op2);
3124 opline = OP_JMP_ADDR(opline, opline->op2);
3165 opline = OP_JMP_ADDR(opline, opline->op2);
3197 opline = OP_JMP_ADDR(opline, opline->op2);
4622 gen_execute_data->opline = opline;
7893 …do_bind_class(RT_CONSTANT(opline, opline->op1), (OP2_TYPE == IS_CONST) ? Z_STR_P(RT_CONSTANT(oplin…
8186 opline = EX(opline);
8205 ZEND_VM_DISPATCH(opline->opcode, opline);
9642 OPLINE = OP_JMP_ADDR(opline, opline->op2);
[all …]
/php-src/Zend/Optimizer/
H A Dpass1.c50 …if (zend_optimizer_replace_by_const(op_array, opline + 1, opline->result_type, opline->result.var,… in replace_by_const_or_qm_assign()
51 MAKE_NOP(opline); in replace_by_const_or_qm_assign()
55 SET_UNUSED(opline->op2); in replace_by_const_or_qm_assign()
68 while (opline < end) { in zend_optimizer_pass1()
69 switch (opline->opcode) { in zend_optimizer_pass1()
100 if (opline->op1_type == IS_CONST && opline->op2_type == IS_CONST && in zend_optimizer_pass1()
101 …zend_optimizer_eval_binary_op(&result, opline->opcode, &ZEND_OP1_LITERAL(opline), &ZEND_OP2_LITERA… in zend_optimizer_pass1()
107 if (opline->extended_value == ZEND_CONCAT && opline->op2_type == IS_CONST in zend_optimizer_pass1()
327 COPY_NODE(opline->op1, opline->op2); in zend_optimizer_pass1()
330 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()
94 *opline = *target; in zend_optimizer_pass3()
124 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target); in zend_optimizer_pass3()
155 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target); in zend_optimizer_pass3()
225 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, target); in zend_optimizer_pass3()
231 opline->op2.num = 0; in zend_optimizer_pass3()
[all …]
H A Dcompact_literals.c293 opline++; in zend_optimizer_compact_literals()
497 opline->op1.constant = map[opline->op1.constant]; in zend_optimizer_compact_literals()
500 opline->op2.constant = map[opline->op2.constant]; in zend_optimizer_compact_literals()
609 opline->result.num = func_slot[opline->op2.constant]; in zend_optimizer_compact_literals()
613 func_slot[opline->op2.constant] = opline->result.num; in zend_optimizer_compact_literals()
647 opline->result.num = class_slot[opline->op1.constant]; in zend_optimizer_compact_literals()
651 class_slot[opline->op1.constant] = opline->result.num; in zend_optimizer_compact_literals()
744 opline->op2.num = class_slot[opline->op1.constant]; in zend_optimizer_compact_literals()
748 class_slot[opline->op1.constant] = opline->op2.num; in zend_optimizer_compact_literals()
795 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()
900 if (opline->op1_type == opline->result_type && in zend_optimize_block()
901 opline->op1.var == opline->result.var) { in zend_optimize_block()
930 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()
53 MAKE_NOP(opline); in zend_delete_call_instructions()
75 opline--; in zend_delete_call_instructions()
127 SET_UNUSED(opline->op2); in zend_try_inline_call()
129 MAKE_NOP(opline); in zend_try_inline_call()
165 while (opline < end) { in zend_optimize_func_calls()
166 switch (opline->opcode) { in zend_optimize_func_calls()
185 call_stack[call].opline = opline; in zend_optimize_func_calls()
253 opline->opcode -= 9; in zend_optimize_func_calls()
[all …]
H A Dzend_optimizer.c699 opline++; in zend_optimizer_replace_by_const()
755 …ZEND_SET_OP_JMP_ADDR(opline, opline->op1, ZEND_OP1_JMP_ADDR(opline) - shiftlist[ZEND_OP1_JMP_ADDR( in zend_optimizer_shift_jump()
769 …ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP2_JMP_ADDR(opline) - shiftlist[ZEND_OP2_JMP_ADDR( in zend_optimizer_shift_jump()
773 …ZEND_SET_OP_JMP_ADDR(opline, opline->op2, ZEND_OP2_JMP_ADDR(opline) - shiftlist[ZEND_OP2_JMP_ADDR( in zend_optimizer_shift_jump()
778opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, ZEND_OFFSET_TO_OPLINE_NUM(op_… in zend_optimizer_shift_jump()
789opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, ZEND_OFFSET_TO_OPLINE_NUM(op_… in zend_optimizer_shift_jump()
1200 opline++; in zend_revert_pass_two()
1317 opline++; in zend_redo_pass_two()
1459 opline++; in zend_redo_pass_two_ex()
1493 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()
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.c804 COPY_NODE(opline->op1, opline->op2); in zend_dfa_optimize_jmps()
830 COPY_NODE(opline->op1, opline->op2); in zend_dfa_optimize_jmps()
916 COPY_NODE(opline->op1, opline->op2); in zend_dfa_optimize_jmps()
932 COPY_NODE(opline->op1, opline->op2); in zend_dfa_optimize_jmps()
1225 opline->op1.var = opline->op2.var; in zend_dfa_optimize_op_array()
1247 opline->op1.var = opline->op2.var; in zend_dfa_optimize_op_array()
1292 opline->op2.var = opline->op1.var; in zend_dfa_optimize_op_array()
1643 opline->result.var = opline->op1.var; in zend_dfa_optimize_op_array()
1644 opline->op1_type = opline->op2_type; in zend_dfa_optimize_op_array()
1645 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()
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()
1031 const zend_op *opline; in zend_dump_op_array() local
1039 opline++; in zend_dump_op_array()
1099 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_long_key_ex() local
224 const zend_op *opline = EX(opline); in zend_jit_undefined_string_key() local
258 const zend_op *opline = EX(opline); in zend_jit_func_counter_helper() local
278 const zend_op *opline = EX(opline); in zend_jit_loop_counter_helper() local
627 opline = EX(opline) = op;
956 opline = EX(opline);
1129 opline = EX(opline);
1157 opline = EX(opline);
[all …]
H A Dzend_jit_trace.c1154 opline = p->opline; in zend_jit_trace_find_init_fcall_op()
1560 opline = p->opline; in zend_jit_trace_build_tssa()
1818 opline = p->opline; in zend_jit_trace_build_tssa()
4162 opline = p[1].opline; in zend_jit_trace()
4396 opline = p->opline; in zend_jit_trace()
7323 opline = p->opline; in zend_jit_trace()
7833 opline = p->opline; in zend_jit_dump_trace()
8106 EX(opline) = opline; in zend_jit_trace_hot_root()
8215 opline = EX(opline); in zend_jit_trace_hot_root()
8751 EX(opline) = opline; in zend_jit_trace_exit()
[all …]
H A Dzend_jit.c328 opline++; in zend_jit_needs_call_chain()
391 opline++; in zend_jit_needs_call_chain()
405 opline++; in zend_jit_needs_call_chain()
431 opline++; in zend_jit_needs_call_chain()
1273 && (opline+1)->op1.var == opline->result.var) { in zend_jit_next_is_send_result()
2074 && (opline+1)->op1.var == opline->result.var) { in zend_jit()
2110 && (opline+1)->op1.var == opline->result.var) { in zend_jit()
2140 && (opline+1)->op1.var == opline->result.var) { in zend_jit()
2163 && (opline+1)->op1.var == opline->result.var) { in zend_jit()
2240 && (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)
244 zend_jit_hash(opline)
668 if (trace->opline == opline + 1) { in zend_jit_trace_get_exit_opline()
671 return OP_JMP_ADDR(opline, opline->op2); in zend_jit_trace_get_exit_opline()
672 } else if (trace->opline == OP_JMP_ADDR(opline, opline->op2)) { in zend_jit_trace_get_exit_opline()
675 return opline + 1; in zend_jit_trace_get_exit_opline()
[all …]
H A Dzend_jit_ir.c2924 memset(&opline, 0, sizeof(opline)); in zend_jit_setup_disasm()
5557 jit_FREE_OP(jit, opline->op1_type, opline->op1, op1_info, opline); in zend_jit_add_arrays()
5558 jit_FREE_OP(jit, opline->op2_type, opline->op2, op2_info, opline); in zend_jit_add_arrays()
7255 jit_FREE_OP(jit, opline->op2_type, opline->op2, op2_info, opline); in zend_jit_identical()
7286 jit_FREE_OP(jit, opline->op2_type, opline->op2, op2_info, opline); in zend_jit_identical()
7506 jit_FREE_OP(jit, opline->op1_type, opline->op1, op1_info, opline); in zend_jit_bool_jmpznz()
7520 jit_FREE_OP(jit, opline->op1_type, opline->op1, op1_info, opline); in zend_jit_bool_jmpznz()
9525 jit_FREE_OP(jit, opline->op1_type, opline->op1, op1_info, opline);
13010 jit_FREE_OP(jit, opline->op2_type, opline->op2, op2_info, opline);
13175 jit_FREE_OP(jit, opline->op2_type, opline->op2, op2_info, opline);
[all …]

Completed in 517 milliseconds

1234