/PHP-7.2/ext/opcache/Optimizer/ |
H A D | zend_call_graph.c | 85 zend_op *opline = op_array->opcodes; in zend_analyze_calls() local 86 zend_op *end = opline + op_array->last; in zend_analyze_calls() 95 while (opline != end) { in zend_analyze_calls() 96 switch (opline->opcode) { in zend_analyze_calls() 106 call_info->caller_init_opline = opline; in zend_analyze_calls() 109 call_info->num_args = opline->extended_value; in zend_analyze_calls() 146 call_info->caller_call_opline = opline; in zend_analyze_calls() 160 uint32_t num = opline->op2.num; in zend_analyze_calls() 165 call_info->arg_info[num].opline = opline; in zend_analyze_calls() 176 opline++; in zend_analyze_calls() [all …]
|
H A D | scdf.c | 124 zend_op *opline = &scdf->op_array->opcodes[i]; in scdf_solve() local 126 if (opline->opcode == ZEND_OP_DATA) { in scdf_solve() 127 opline--; in scdf_solve() 130 scdf->handlers.visit_instr(scdf, opline, ssa_op); in scdf_solve() 161 zend_op *opline; in scdf_solve() local 164 opline = &scdf->op_array->opcodes[j]; in scdf_solve() 166 if (opline->opcode != ZEND_OP_DATA) { in scdf_solve() 167 scdf->handlers.visit_instr(scdf, opline, &ssa->ops[j]); in scdf_solve() 173 if (opline->opcode == ZEND_OP_DATA) { in scdf_solve() 174 opline--; in scdf_solve() [all …]
|
H A D | ssa_integrity.c | 179 zend_op *opline = &op_array->opcodes[i]; in ssa_verify_integrity() local 180 if (is_var_type(opline->op1_type)) { in ssa_verify_integrity() 189 if (is_var_type(opline->op2_type)) { in ssa_verify_integrity() 198 if (is_var_type(opline->result_type)) { in ssa_verify_integrity() 216 if (VAR_NUM(opline->op1.var) != ssa->vars[ssa_op->op1_use].var) { in ssa_verify_integrity() 218 VAR(ssa_op->op1_use), VAR_NUM(opline->op1.var), INSTR(i)); in ssa_verify_integrity() 229 if (VAR_NUM(opline->op2.var) != ssa->vars[ssa_op->op2_use].var) { in ssa_verify_integrity() 231 VAR(ssa_op->op2_use), VAR_NUM(opline->op2.var), INSTR(i)); in ssa_verify_integrity() 255 if (VAR_NUM(opline->op1.var) != ssa->vars[ssa_op->op1_def].var) { in ssa_verify_integrity() 257 VAR(ssa_op->op1_def), VAR_NUM(opline->op1.var), INSTR(i)); in ssa_verify_integrity() [all …]
|
H A D | zend_ssa.h | 143 void zend_ssa_remove_instr(zend_ssa *ssa, zend_op *opline, zend_ssa_op *ssa_op); 207 static zend_always_inline zend_bool zend_ssa_is_no_val_use(const zend_op *opline, const zend_ssa_op… in zend_ssa_is_no_val_use() argument 209 if (opline->opcode == ZEND_ASSIGN || opline->opcode == ZEND_UNSET_CV) { in zend_ssa_is_no_val_use() 212 if (opline->opcode == ZEND_FE_FETCH_R) { in zend_ssa_is_no_val_use() 215 if (ssa_op->result_use == var && opline->opcode != ZEND_ADD_ARRAY_ELEMENT) { in zend_ssa_is_no_val_use()
|
H A D | zend_cfg.h | 122 #define RETURN_VALUE_USED(opline) \ argument 123 ((opline)->result_type != IS_UNUSED)
|
H A D | scdf.h | 40 struct _scdf_ctx *scdf, zend_op *opline, zend_ssa_op *ssa_op); 45 zend_op *opline, zend_ssa_op *ssa_op);
|
H A D | zend_call_graph.h | 27 zend_op *opline; member
|
/PHP-7.2/sapi/phpdbg/ |
H A D | phpdbg_bp.h | 88 zend_ulong opline; member 96 zend_ulong opline; member 132 PHPDBG_API void phpdbg_set_breakpoint_opline(zend_ulong opline); 133 PHPDBG_API void phpdbg_set_breakpoint_opline_ex(phpdbg_opline_ptr_t opline); 134 …void phpdbg_set_breakpoint_method_opline(const char *class, const char *method, zend_ulong opline); 135 PHPDBG_API void phpdbg_set_breakpoint_function_opline(const char *function, zend_ulong opline); 136 PHPDBG_API void phpdbg_set_breakpoint_file_opline(const char *file, zend_ulong opline);
|
H A D | phpdbg_bp.c | 491 new_break.opline = opline; in phpdbg_set_breakpoint_opline() 521 opline_break.opline = brake->opline = (zend_ulong)(op_array->opcodes + brake->opline_num); in phpdbg_resolve_op_array_break() 570 opline_break->opline); in phpdbg_resolve_op_array_breaks() 653 new_break.opline_num = opline; in phpdbg_set_breakpoint_method_opline() 654 new_break.opline = 0; in phpdbg_set_breakpoint_method_opline() 705 new_break.opline_num = opline; in phpdbg_set_breakpoint_function_opline() 706 new_break.opline = 0; in phpdbg_set_breakpoint_function_opline() 751 new_break.opline_num = opline; in phpdbg_set_breakpoint_file_opline() 752 new_break.opline = 0; in phpdbg_set_breakpoint_file_opline() 817 new_break.opline = (zend_ulong) opline; in phpdbg_set_breakpoint_opline_ex() [all …]
|
H A D | phpdbg_prompt.c | 660 const zend_op *opline = op_array->opcodes; in phpdbg_skip_line_helper() local 665 if (opline->lineno != ex->opline->lineno in phpdbg_skip_line_helper() 666 || opline->opcode == ZEND_RETURN in phpdbg_skip_line_helper() 667 || opline->opcode == ZEND_FAST_RET in phpdbg_skip_line_helper() 669 || opline->opcode == ZEND_EXIT in phpdbg_skip_line_helper() 670 || opline->opcode == ZEND_YIELD in phpdbg_skip_line_helper() 671 || opline->opcode == ZEND_YIELD_FROM in phpdbg_skip_line_helper() 673 zend_hash_index_update_ptr(&PHPDBG_G(seek), (zend_ulong) opline, (void *) opline); in phpdbg_skip_line_helper() 705 const zend_op *opline = op_array->opcodes; in phpdbg_seek_to_end() local 709 switch (opline->opcode) { in phpdbg_seek_to_end() [all …]
|
H A D | phpdbg_print.c | 34 …PHPDBG_PRINT_COMMAND_D(opline, "print out the instruction in the current opline", 'o'… 42 PHPDBG_PRINT(opline) /* {{{ */ in PHPDBG_PRINT() argument 60 zend_op *opline = &(op_array->opcodes[0]); in phpdbg_print_function_helper() local 71 opline, in phpdbg_print_function_helper() 79 opline, in phpdbg_print_function_helper() 84 char *decode = phpdbg_decode_opline(op_array, opline); in phpdbg_print_function_helper() 86 opline->lineno, in phpdbg_print_function_helper() 90 opline++; in phpdbg_print_function_helper()
|
H A D | phpdbg_print.h | 32 PHPDBG_PRINT(opline);
|
H A D | xml.md | 47 opline section 168 - num: the nth opline of a function/method/file 170 - pending: the breakpoint is waiting for resolving (e.g. a file opline on a not yet loaded file) 174 - opline 187 - opline 207 - internalfunction: one cannot break on an opline of an internal function 261 - opline 278 - opline 338 - quiet: on/off - should it always print the opline being currently executed? 372 - <print line="%u" opline="%p" opcode="%s" op="%s" /> [all …]
|
/PHP-7.2/Zend/ |
H A D | zend_compile.h | 36 #define MAKE_NOP(opline) do { \ argument 37 (opline)->op1.num = 0; \ 38 (opline)->op2.num = 0; \ 39 (opline)->result.num = 0; \ 40 (opline)->opcode = ZEND_NOP; \ 41 (opline)->op1_type = IS_UNUSED; \ 42 (opline)->op2_type = IS_UNUSED; \ 43 (opline)->result_type = IS_UNUSED; \ 556 ((char*)(target) - (char*)(opline)) 570 # define OP_JMP_ADDR(opline, node) \ argument [all …]
|
H A D | zend_vm.h | 38 #define ZEND_VM_SET_OPCODE_HANDLER(opline) zend_vm_set_opcode_handler(opline) argument
|
H A D | zend_exceptions.h | 75 if (EX(opline)->opcode != ZEND_HANDLE_EXCEPTION) { in zend_rethrow_exception() 76 EG(opline_before_exception) = EX(opline); in zend_rethrow_exception() 77 EX(opline) = EG(exception_op); in zend_rethrow_exception()
|
H A D | zend_execute.c | 107 #define RETURN_VALUE_USED(opline) ((opline)->result_type != IS_UNUSED) argument 1128 const zend_op *opline = EX(opline); in zend_wrong_string_offset() local 1153 opline++; in zend_wrong_string_offset() 1157 if (opline->op1_type == IS_VAR && opline->op1.var == var) { in zend_wrong_string_offset() 1231 if (opline->op2_type == IS_VAR && opline->op2.var == var) { in zend_wrong_string_offset() 2366 opline--; in cleanup_unfinished_calls() 2419 opline--; in cleanup_unfinished_calls() 2448 opline--; in cleanup_unfinished_calls() 2953 ZEND_VM_SET_OPCODE(OP_JMP_ADDR(opline + 1, (opline+1)->op2)); \ 2965 ZEND_VM_SET_OPCODE(OP_JMP_ADDR(opline + 1, (opline+1)->op2)); \ [all …]
|
H A D | README.ZEND_VM | 56 opline->op<X>.op_type 58 get_zval_ptr(&opline->op<X>, EX(Ts), &free_op<X>, <TYPE>) 60 get_zval_ptr_ptr(&opline->op<X>, EX(Ts), &free_op<X>, <TYPE>) 62 get_obj_zval_ptr(&opline->op<X>, EX(Ts), &free_op<X>, <TYPE>) 64 get_obj_zval_ptr_ptr(&opline->op<X>, EX(Ts), &free_op<X>, <TYPE>)
|
H A D | zend_generators.c | 102 if (execute_data->opline != execute_data->func->op_array.opcodes) { in zend_generator_cleanup_unfinished_execution() 104 uint32_t op_num = execute_data->opline - execute_data->func->op_array.opcodes - 1; in zend_generator_cleanup_unfinished_execution() 200 op_num = ex->opline - ex->func->op_array.opcodes - 1; in zend_generator_dtor_storage() 230 ex->opline = &ex->func->op_array.opcodes[finally_op_num]; in zend_generator_dtor_storage() 282 if (execute_data->opline != op_array->opcodes) { in calc_gc_buffer_size() 284 uint32_t i, op_num = execute_data->opline - op_array->opcodes - 1; in calc_gc_buffer_size() 366 if (execute_data->opline != op_array->opcodes) { in zend_generator_get_gc() 367 uint32_t i, op_num = execute_data->opline - op_array->opcodes - 1; in zend_generator_get_gc() 466 generator->execute_data->opline--; in zend_generator_throw_exception() 472 generator->execute_data->opline++; in zend_generator_throw_exception() [all …]
|
H A D | zend_builtin_functions.c | 2244 skip->prev_execute_data->opline->opcode != ZEND_DO_FCALL && in ZEND_FUNCTION() 2245 skip->prev_execute_data->opline->opcode != ZEND_DO_ICALL && in ZEND_FUNCTION() 2246 skip->prev_execute_data->opline->opcode != ZEND_DO_UCALL && in ZEND_FUNCTION() 2254 if (skip->opline->opcode == ZEND_HANDLE_EXCEPTION) { in ZEND_FUNCTION() 2261 lineno = skip->opline->lineno; in ZEND_FUNCTION() 2322 switch (ptr->opline->extended_value) { in ZEND_FUNCTION() 2453 skip->prev_execute_data->opline->opcode != ZEND_DO_FCALL && in zend_fetch_debug_backtrace() 2463 if (skip->opline->opcode == ZEND_HANDLE_EXCEPTION) { in zend_fetch_debug_backtrace() 2470 lineno = skip->opline->lineno; in zend_fetch_debug_backtrace() 2494 ZVAL_LONG(&tmp, prev->opline->lineno); in zend_fetch_debug_backtrace() [all …]
|
H A D | zend_execute.h | 365 #define SKIP_EXT_OPLINE(opline) do { \ argument 366 while (UNEXPECTED((opline)->opcode >= ZEND_EXT_STMT \ 367 && (opline)->opcode <= ZEND_TICKS)) { \ 368 (opline)--; \
|
/PHP-7.2/ext/opcache/ |
H A D | zend_file_cache.c | 413 zend_op *opline, *end; local 416 opline = op_array->opcodes; 417 UNSERIALIZE_PTR(opline); 419 while (opline < end) { 429 switch (opline->opcode) { 459 opline++; 1063 zend_op *opline, *end; local 1066 opline = op_array->opcodes; 1068 while (opline < end) { 1078 switch (opline->opcode) { [all …]
|
H A D | zend_persist.c | 430 zend_op *opline = new_opcodes; in zend_persist_op_array_ex() local 434 for (; opline < end ; opline++, offset++) { in zend_persist_op_array_ex() 436 if (opline->op1_type == IS_CONST) { in zend_persist_op_array_ex() 437 …opline->op1.zv = (zval*)((char*)opline->op1.zv + ((char*)op_array->literals - (char*)orig_literals… in zend_persist_op_array_ex() 439 if (opline->op2_type == IS_CONST) { in zend_persist_op_array_ex() 440 …opline->op2.zv = (zval*)((char*)opline->op2.zv + ((char*)op_array->literals - (char*)orig_literals… in zend_persist_op_array_ex() 446 switch (opline->opcode) { in zend_persist_op_array_ex() 449 opline->op1.jmp_addr = &new_opcodes[opline->op1.jmp_addr - op_array->opcodes]; in zend_persist_op_array_ex() 463 opline->op2.jmp_addr = &new_opcodes[opline->op2.jmp_addr - op_array->opcodes]; in zend_persist_op_array_ex()
|
/PHP-7.2/sapi/fpm/fpm/ |
H A D | fpm_php_trace.c | 161 if (0 > fpm_trace_get_long(prev + offsetof(zend_execute_data, opline), &l)) { in fpm_php_trace_dump() 166 long opline = l; in fpm_php_trace_dump() local 169 if (0 > fpm_trace_get_long(opline + offsetof(struct _zend_op, lineno), &l)) { in fpm_php_trace_dump()
|
/PHP-7.2/sapi/phpdbg/tests/ |
H A D | generator_run.phpt | 2 Ensure proper saving of EX(opline)
|