Home
last modified time | relevance | path

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

1234

/php-src/
H A D.gdbinit138 printf "%s:%d ", (char*)$func->op_array.filename->val, $ex->opline->lineno
587 usage: printzn &opline->op1
592 printzn &execute_data->opline.op1
594 printzn &execute_data->opline.op2
596 printzn &execute_data->opline.result
600 dump operands of the current opline
/php-src/Zend/Optimizer/
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 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 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 Ddce.c78 switch (opline->opcode) { in may_have_side_effects()
132 if ((opline->op1_type & (IS_VAR|IS_TMP_VAR)) && (opline->op2_type & (IS_VAR|IS_TMP_VAR))) { in may_have_side_effects()
190 if (opline->op2_type != IS_CONST in may_have_side_effects()
228 opline++; in may_have_side_effects()
230 if (opline->op1_type != IS_CONST in may_have_side_effects()
255 if ((opline->extended_value & ZEND_BIND_REF) && opline->op2_type != IS_UNUSED) { in may_have_side_effects()
397 switch (opline->opcode) { in is_free_of_live_var()
418 if (opline->opcode == ZEND_NOP) { in dce_instr()
430 && opline->opcode != ZEND_CASE && opline->opcode != ZEND_CASE_STRICT) { in dce_instr()
454 opline->opcode = ZEND_FREE; in dce_instr()
[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 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 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 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 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 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 Dsccp.c211 switch (opline->opcode) { in can_replace_op1()
281 switch (opline->opcode) { in can_replace_op2()
880 switch (opline->opcode) { in sccp_visit_instr()
1227 opline++; in sccp_visit_instr()
1242 switch (opline->opcode) { in sccp_visit_instr()
1397 if (opline->opcode == ZEND_PRE_INC_OBJ || opline->opcode == ZEND_PRE_DEC_OBJ) { in sccp_visit_instr()
1674 zend_op *opline = call->arg_info[i].opline; in sccp_visit_instr() local
1675 if (opline->opcode != ZEND_SEND_VAL && opline->opcode != ZEND_SEND_VAR) { in sccp_visit_instr()
1833 switch (opline->opcode) { in sccp_mark_feasible_successors()
1863 switch (opline->opcode) { in sccp_mark_feasible_successors()
[all …]
H A Dscdf.c125 if (opline->opcode == ZEND_OP_DATA) { in scdf_solve()
126 opline--; in scdf_solve()
160 zend_op *opline = NULL; in scdf_solve() local
163 opline = &scdf->op_array->opcodes[j]; in scdf_solve()
165 if (opline->opcode != ZEND_OP_DATA) { in scdf_solve()
173 if (opline->opcode == ZEND_OP_DATA) { in scdf_solve()
174 opline--; in scdf_solve()
189 if (!zend_optimizer_is_loop_var_free(opline)) { in is_live_loop_var_free()
237 zend_op *opline = &op_array->opcodes[i]; in cleanup_loop_var_free_block() local
239 if (opline->opcode == ZEND_NOP in cleanup_loop_var_free_block()
[all …]
H A Dscdf.h40 struct _scdf_ctx *scdf, zend_op *opline, zend_ssa_op *ssa_op);
45 zend_op *opline, zend_ssa_op *ssa_op);
H A Dssa_integrity.c209 zend_op *opline = &op_array->opcodes[i]; in ssa_verify_integrity() local
210 if (is_var_type(opline->op1_type)) { in ssa_verify_integrity()
219 if (is_var_type(opline->op2_type)) { in ssa_verify_integrity()
228 if (is_var_type(opline->result_type)) { in ssa_verify_integrity()
250 if (VAR_NUM(opline->op1.var) != ssa->vars[ssa_op->op1_use].var) { in ssa_verify_integrity()
252 VAR(ssa_op->op1_use), VAR_NUM(opline->op1.var), INSTR(i)); in ssa_verify_integrity()
267 if (VAR_NUM(opline->op2.var) != ssa->vars[ssa_op->op2_use].var) { in ssa_verify_integrity()
269 VAR(ssa_op->op2_use), VAR_NUM(opline->op2.var), INSTR(i)); in ssa_verify_integrity()
297 if (VAR_NUM(opline->op1.var) != ssa->vars[ssa_op->op1_def].var) { in ssa_verify_integrity()
299 VAR(ssa_op->op1_def), VAR_NUM(opline->op1.var), INSTR(i)); in ssa_verify_integrity()
[all …]
H A Dzend_call_graph.c48 zend_op *opline = op_array->opcodes; in zend_analyze_calls() local
49 zend_op *end = opline + op_array->last; in zend_analyze_calls()
59 while (opline != end) { in zend_analyze_calls()
60 switch (opline->opcode) { in zend_analyze_calls()
110 func = ZEND_FLF_FUNC(opline); in zend_analyze_calls()
113 call_info->caller_init_opline = opline; in zend_analyze_calls()
146 if (opline->op2_type == IS_CONST) { in zend_analyze_calls()
151 uint32_t num = opline->op2.num; in zend_analyze_calls()
155 call_info->arg_info[num].opline = opline; in zend_analyze_calls()
169 opline++; in zend_analyze_calls()
[all …]
H A Dzend_call_graph.h27 zend_op *opline; member
H A Dzend_cfg.c290 switch (opline->opcode) { in zend_build_cfg()
350 BB_START(OP_JMP_ADDR(opline, opline->op1) - op_array->opcodes); in zend_build_cfg()
359 BB_START(OP_JMP_ADDR(opline, opline->op1) - op_array->opcodes); in zend_build_cfg()
374 BB_START(OP_JMP_ADDR(opline, opline->op2) - op_array->opcodes); in zend_build_cfg()
379 BB_START(OP_JMP_ADDR(opline, opline->op2) - op_array->opcodes); in zend_build_cfg()
385 BB_START(ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, opline->extended_value)); in zend_build_cfg()
390 BB_START(OP_JMP_ADDR(opline, opline->op2) - op_array->opcodes); in zend_build_cfg()
402 BB_START(ZEND_OFFSET_TO_OPLINE_NUM(op_array, opline, opline->extended_value)); in zend_build_cfg()
497 zend_op *opline; in zend_build_cfg() local
505 switch (opline->opcode) { in zend_build_cfg()
[all …]
H A Dzend_cfg.h103 #define CRT_CONSTANT_EX(op_array, opline, node) \ argument
105 RT_CONSTANT(opline, (node)) \
111 CRT_CONSTANT_EX(op_array, opline, node)
113 #define RETURN_VALUE_USED(opline) \ argument
114 ((opline)->result_type != IS_UNUSED)
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 Dzend_dfg.h47 ZEND_API void zend_dfg_add_use_def_op(const zend_op_array *op_array, const zend_op *opline, uint32_…
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_dump.h37 …const zend_op_array *op_array, const zend_basic_block *b, const zend_op *opline, uint32_t dump_fla…
38 …const zend_op_array *op_array, const zend_basic_block *b, const zend_op *opline, uint32_t dump_fla…
H A Dzend_func_info.c61 uint32_t t1 = _ssa_op1_info(op_array, ssa, call_info->arg_info[0].opline, in zend_range_info()
62 ssa->ops ? &ssa->ops[call_info->arg_info[0].opline - op_array->opcodes] : NULL); in zend_range_info()
63 uint32_t t2 = _ssa_op1_info(op_array, ssa, call_info->arg_info[1].opline, in zend_range_info()
64 ssa->ops ? &ssa->ops[call_info->arg_info[1].opline - op_array->opcodes] : NULL); in zend_range_info()
69 t3 = _ssa_op1_info(op_array, ssa, call_info->arg_info[2].opline, in zend_range_info()
70 ssa->ops ? &ssa->ops[call_info->arg_info[2].opline - op_array->opcodes] : NULL); in zend_range_info()

Completed in 108 milliseconds

1234