/php-src/Zend/Optimizer/ |
H A D | sccp.c | 211 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 D | dce.c | 78 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 D | zend_cfg.c | 290 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 D | zend_call_graph.c | 48 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 D | scdf.c | 125 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 D | zend_inference.c | 1279 op_array, ssa, opline, ssa_op, opline->opcode, tmp); in zend_inference_propagate_range() 1477 opline++; in zend_inference_propagate_range() 2548 opline--; in _zend_update_type_info() 3019 opline++; in _zend_update_type_info() 3053 opline++; in _zend_update_type_info() 3068 opline++; in _zend_update_type_info() 3194 opline++; in _zend_update_type_info() 3208 opline++; in _zend_update_type_info() 4271 return opline->opcode == ZEND_ADD || opline->opcode == ZEND_SUB in is_narrowable_instr() 4272 || opline->opcode == ZEND_MUL || opline->opcode == ZEND_DIV; in is_narrowable_instr() [all …]
|
H A D | zend_cfg.h | 103 #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 D | zend_ssa.h | 149 ZEND_API int zend_ssa_rename_op(const zend_op_array *op_array, const zend_op *opline, uint32_t k, u… 155 void zend_ssa_remove_instr(zend_ssa *ssa, zend_op *opline, zend_ssa_op *ssa_op); 220 static zend_always_inline bool zend_ssa_is_no_val_use(const zend_op *opline, const zend_ssa_op *ssa… in zend_ssa_is_no_val_use() argument 222 if (opline->opcode == ZEND_ASSIGN in zend_ssa_is_no_val_use() 223 || opline->opcode == ZEND_UNSET_CV in zend_ssa_is_no_val_use() 224 || opline->opcode == ZEND_BIND_GLOBAL in zend_ssa_is_no_val_use() 225 || opline->opcode == ZEND_BIND_STATIC) { in zend_ssa_is_no_val_use() 228 if (opline->opcode == ZEND_FE_FETCH_R || opline->opcode == ZEND_FE_FETCH_RW) { in zend_ssa_is_no_val_use() 232 && opline->opcode != ZEND_ADD_ARRAY_ELEMENT in zend_ssa_is_no_val_use() 233 && opline->opcode != ZEND_ADD_ARRAY_UNPACK) { in zend_ssa_is_no_val_use()
|
H A D | ssa_integrity.c | 209 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 D | zend_func_info.c | 61 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()
|
H A D | zend_dump.h | 37 …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…
|
/php-src/Zend/ |
H A D | zend_compile.c | 741 opline--; in zend_do_free() 785 opline--; in zend_do_free() 817 opline--; in zend_do_free() 2965 opline->result.var = opline->op1.var; in zend_separate_if_call_and_write() 3079 if (opline && (opline->opcode == ZEND_FETCH_DIM_W in zend_delayed_compile_prop() 3530 if (opline && opline->opcode == ZEND_FETCH_OBJ_W) { in zend_compile_assign_ref() 5558 opline--; in zend_resolve_goto_label() 9412 if (opline && opline->opcode == ZEND_FETCH_DIM_RW) { in zend_compile_post_incdec() 9441 if (opline && opline->opcode == ZEND_FETCH_DIM_RW) { in zend_compile_pre_incdec() 10257 opline->op1_type = opline->op2_type; in zend_compile_encaps_list() [all …]
|
H A D | zend_execute.c | 1594 FREE_OP((opline+1)->op1_type, (opline+1)->op1.var); in zend_binary_assign_op_obj_dim() 1686 const zend_op *opline = execute_data->opline; in zend_wrong_string_offset_error() local 3368 zval *class_name = RT_CONSTANT(opline, opline->op2); in zend_fetch_static_property_address_ex() 3400 name = Z_STR_P(RT_CONSTANT(opline, opline->op1)); in zend_fetch_static_property_address_ex() 4134 EX(opline) = opline; in zend_init_func_execute_data() 4222 opline--; in zend_unfinished_calls_gc() 4279 opline--; in zend_unfinished_calls_gc() 4309 opline--; in zend_unfinished_calls_gc() 4355 opline--; in cleanup_unfinished_calls() 5156 call->opline = opline; in start_fake_frame() [all …]
|
H A D | zend_vm_trace_lines.h | 21 #define VM_TRACE(op) zend_vm_trace(execute_data, opline); 27 static void zend_vm_trace(const zend_execute_data *execute_data, const zend_op *opline) in zend_vm_trace() argument 30 fprintf(vm_trace_file, "%s:%d\n", ZSTR_VAL(EX(func)->op_array.filename), opline->lineno); in zend_vm_trace()
|
H A D | zend_compile.h | 39 #define MAKE_NOP(opline) do { \ argument 40 (opline)->opcode = ZEND_NOP; \ 41 SET_UNUSED((opline)->op1); \ 42 SET_UNUSED((opline)->op2); \ 43 SET_UNUSED((opline)->result); \ 678 ((char*)(target) - (char*)(opline)) 692 # define OP_JMP_ADDR(opline, node) \ argument 712 # define OP_JMP_ADDR(opline, node) \ argument 741 # define RT_CONSTANT(opline, node) \ argument 756 # define RT_CONSTANT(opline, node) \ argument [all …]
|
H A D | zend_vm.h | 39 #define ZEND_VM_SET_OPCODE_HANDLER(opline) zend_vm_set_opcode_handler(opline) argument
|
H A D | zend_exceptions.h | 86 if (EX(opline)->opcode != ZEND_HANDLE_EXCEPTION) { in zend_rethrow_exception() 87 EG(opline_before_exception) = EX(opline); in zend_rethrow_exception() 88 EX(opline) = EG(exception_op); in zend_rethrow_exception()
|
H A D | zend_frameless_function.h | 39 #define ZEND_FLF_FUNC(opline) (zend_flf_functions[(opline)->extended_value]) argument 40 #define ZEND_FLF_HANDLER(opline) (zend_flf_handlers[(opline)->extended_value]) argument
|
/php-src/ext/opcache/jit/ |
H A D | zend_jit_helpers.c | 401 opline = EX(opline); in zend_jit_fetch_dim_r_helper() 433 opline = EX(opline); in zend_jit_fetch_dim_r_helper() 461 opline = EX(opline); in zend_jit_fetch_dim_r_helper() 543 opline = EX(opline); in zend_jit_fetch_dim_is_helper() 575 opline = EX(opline); in zend_jit_fetch_dim_is_helper() 603 opline = EX(opline); in zend_jit_fetch_dim_is_helper() 784 opline = EX(opline); in zend_jit_fetch_dim_rw_helper() 811 opline = EX(opline); in zend_jit_fetch_dim_rw_helper() 841 opline = EX(opline); in zend_jit_fetch_dim_rw_helper() 916 opline = EX(opline); in zend_jit_fetch_dim_w_helper() [all …]
|
/php-src/sapi/phpdbg/ |
H A D | phpdbg_bp.h | 86 zend_ulong opline; member 94 zend_ulong opline; member 130 PHPDBG_API void phpdbg_set_breakpoint_opline(zend_ulong opline); 131 PHPDBG_API void phpdbg_set_breakpoint_opline_ex(phpdbg_opline_ptr_t opline); 132 …void phpdbg_set_breakpoint_method_opline(const char *class, const char *method, zend_ulong opline); 133 PHPDBG_API void phpdbg_set_breakpoint_function_opline(const char *function, zend_ulong opline); 134 PHPDBG_API void phpdbg_set_breakpoint_file_opline(const char *file, zend_ulong opline);
|
H A D | phpdbg_bp.c | 488 new_break.opline = opline; in phpdbg_set_breakpoint_opline() 518 opline_break.opline = brake->opline = (zend_ulong)(op_array->opcodes + brake->opline_num); in phpdbg_resolve_op_array_break() 567 opline_break->opline); in phpdbg_resolve_op_array_breaks() 650 new_break.opline_num = opline; in phpdbg_set_breakpoint_method_opline() 651 new_break.opline = 0; in phpdbg_set_breakpoint_method_opline() 702 new_break.opline_num = opline; in phpdbg_set_breakpoint_function_opline() 703 new_break.opline = 0; in phpdbg_set_breakpoint_function_opline() 748 new_break.opline_num = opline; in phpdbg_set_breakpoint_file_opline() 749 new_break.opline = 0; in phpdbg_set_breakpoint_file_opline() 814 new_break.opline = (zend_ulong) opline; in phpdbg_set_breakpoint_opline_ex() [all …]
|
H A D | phpdbg_prompt.c | 607 if (opline->lineno != ex->opline->lineno in phpdbg_skip_line_helper() 608 || opline->opcode == ZEND_RETURN in phpdbg_skip_line_helper() 609 || opline->opcode == ZEND_FAST_RET in phpdbg_skip_line_helper() 611 || opline->opcode == ZEND_EXIT in phpdbg_skip_line_helper() 612 || opline->opcode == ZEND_YIELD in phpdbg_skip_line_helper() 615 zend_hash_index_update_ptr(&PHPDBG_G(seek), (zend_ulong) opline, (void *) opline); in phpdbg_skip_line_helper() 651 switch (opline->opcode) { in phpdbg_seek_to_end() 658 zend_hash_index_update_ptr(&PHPDBG_G(seek), (zend_ulong) opline, (void *) opline); in phpdbg_seek_to_end() 1843 data->opline, in phpdbg_force_interruption() 1846 data->opline->lineno); in phpdbg_force_interruption() [all …]
|
/php-src/ext/opcache/ |
H A D | zend_accelerator_util_funcs.c | 269 for (zend_op *opline = op_array->opcodes; opline < end; opline++) { in zend_accel_build_delayed_early_binding_list() local 270 if (opline->opcode == ZEND_DECLARE_CLASS_DELAYED) { in zend_accel_build_delayed_early_binding_list() 278 for (zend_op *opline = op_array->opcodes; opline < end; opline++) { in zend_accel_build_delayed_early_binding_list() local 279 if (opline->opcode == ZEND_DECLARE_CLASS_DELAYED) { in zend_accel_build_delayed_early_binding_list() 280 zval *lcname = RT_CONSTANT(opline, opline->op1); in zend_accel_build_delayed_early_binding_list() 284 zend_string_copy(Z_STR_P(RT_CONSTANT(opline, opline->op2))); in zend_accel_build_delayed_early_binding_list() 301 for (zend_op *opline = op_array->opcodes; opline < opline_end; opline++) { in zend_accel_finalize_delayed_early_binding_list() local 302 if (opline->opcode == ZEND_DECLARE_CLASS_DELAYED) { in zend_accel_finalize_delayed_early_binding_list() 303 zend_string *rtd_key = Z_STR_P(RT_CONSTANT(opline, opline->op1) + 1); in zend_accel_finalize_delayed_early_binding_list() 313 early_binding->cache_slot = opline->extended_value; in zend_accel_finalize_delayed_early_binding_list()
|
H A D | zend_persist.c | 524 zend_op *opline = new_opcodes; in zend_persist_op_array_ex() local 528 for (; opline < end ; opline++, offset++) { in zend_persist_op_array_ex() 536 zend_vm_set_opcode_handler_ex(opline, 1 << Z_TYPE_P(opline->op1.zv), 0, 0); in zend_persist_op_array_ex() 544 opline->op1.constant = in zend_persist_op_array_ex() 548 (char*)opline; in zend_persist_op_array_ex() 556 opline->op2.constant = in zend_persist_op_array_ex() 560 (char*)opline; in zend_persist_op_array_ex() 566 switch (opline->opcode) { in zend_persist_op_array_ex() 569 opline->op1.jmp_addr = &new_opcodes[opline->op1.jmp_addr - op_array->opcodes]; in zend_persist_op_array_ex() 583 opline->op2.jmp_addr = &new_opcodes[opline->op2.jmp_addr - op_array->opcodes]; in zend_persist_op_array_ex() [all …]
|
H A D | zend_file_cache.c | 516 zend_op *opline, *end; local 525 UNSERIALIZE_PTR(opline); 527 while (opline < end) { 537 opline->op1.constant = RT_CONSTANT(opline, opline->op1) - literals; 540 opline->op2.constant = RT_CONSTANT(opline, opline->op2) - literals; 578 opline++; 1374 zend_op *opline, *end; local 1379 while (opline < end) { 1389 ZEND_PASS_TWO_UPDATE_CONSTANT(op_array, opline, opline->op1); 1392 ZEND_PASS_TWO_UPDATE_CONSTANT(op_array, opline, opline->op2); [all …]
|