Home
last modified time | relevance | path

Searched refs:opline (Results 26 – 50 of 65) sorted by relevance

123

/PHP-7.4/ext/opcache/Optimizer/
H A Dscdf.c124 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 = NULL; in scdf_solve() local
164 opline = &scdf->op_array->opcodes[j]; in scdf_solve()
166 if (opline->opcode != ZEND_OP_DATA) { in scdf_solve()
174 if (opline->opcode == ZEND_OP_DATA) { in scdf_solve()
175 opline--; in scdf_solve()
197 zend_op *opline = &op_array->opcodes[i]; in kept_alive_by_loop_var_free() local
[all …]
H A Ddce.c79 switch (opline->opcode) { in may_have_side_effects()
176 if (opline->op2_type != IS_CONST in may_have_side_effects()
214 opline++; in may_have_side_effects()
216 if (opline->op1_type != IS_CONST in may_have_side_effects()
276 || (opline->opcode == ZEND_ASSIGN in add_operands_to_worklists()
381 if (opline->opcode == ZEND_NOP) { in dce_instr()
394 && opline->opcode != ZEND_CASE) { in dce_instr()
396 free_var_type = opline->op1_type; in dce_instr()
409 free_var_type = opline->op2_type; in dce_instr()
418 opline->opcode = ZEND_FREE; in dce_instr()
[all …]
H A Dzend_call_graph.c89 zend_op *opline = op_array->opcodes; in zend_analyze_calls() local
90 zend_op *end = opline + op_array->last; in zend_analyze_calls()
99 while (opline != end) { in zend_analyze_calls()
100 switch (opline->opcode) { in zend_analyze_calls()
110 call_info->caller_init_opline = opline; in zend_analyze_calls()
113 call_info->num_args = opline->extended_value; in zend_analyze_calls()
150 call_info->caller_call_opline = opline; in zend_analyze_calls()
165 uint32_t num = opline->op2.num; in zend_analyze_calls()
170 call_info->arg_info[num].opline = opline; in zend_analyze_calls()
185 opline++; in zend_analyze_calls()
[all …]
H A Dzend_cfg.h105 #define CRT_CONSTANT_EX(op_array, opline, node, rt_constants) \ argument
107 RT_CONSTANT(opline, (node)) \
113 CRT_CONSTANT_EX(op_array, opline, node, (build_flags & ZEND_RT_CONSTANTS))
115 #define RETURN_VALUE_USED(opline) \ argument
116 ((opline)->result_type != IS_UNUSED)
H A Dssa_integrity.c179 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 Dzend_ssa.h151 void zend_ssa_remove_instr(zend_ssa *ssa, zend_op *opline, zend_ssa_op *ssa_op);
215 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
217 if (opline->opcode == ZEND_ASSIGN || opline->opcode == ZEND_UNSET_CV) { in zend_ssa_is_no_val_use()
225 && opline->opcode != ZEND_ADD_ARRAY_ELEMENT in zend_ssa_is_no_val_use()
226 && opline->opcode != ZEND_ADD_ARRAY_UNPACK) { in zend_ssa_is_no_val_use()
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 Dzend_call_graph.h27 zend_op *opline; member
/PHP-7.4/Zend/
H A Dzend_execute.c1433 const zend_op *opline = EX(opline); in zend_wrong_string_offset() local
1455 opline++; in zend_wrong_string_offset()
1527 opline++; in zend_wrong_string_offset()
3006 zval *class_name = RT_CONSTANT(opline, opline->op2); in zend_fetch_static_property_address_ex()
3038 name = Z_STR_P(RT_CONSTANT(opline, opline->op1)); in zend_fetch_static_property_address_ex()
3733 EX(opline) = opline; in zend_init_func_execute_data()
3832 opline--; in cleanup_unfinished_calls()
4448 …char *)zend_memrchr(Z_STRVAL_P(RT_CONSTANT(opline, opline->op2)), '\\', Z_STRLEN_P(RT_CONSTANT(opl… in _zend_quick_get_constant()
4450 ZVAL_STR_COPY(EX_VAR(opline->result.var), Z_STR_P(RT_CONSTANT(opline, opline->op2))); in _zend_quick_get_constant()
4454 …actual, Z_STRLEN_P(RT_CONSTANT(opline, opline->op2)) - (actual - Z_STRVAL_P(RT_CONSTANT(opline, op… in _zend_quick_get_constant()
[all …]
H A Dzend_compile.h32 #define MAKE_NOP(opline) do { \ argument
33 (opline)->op1.num = 0; \
34 (opline)->op2.num = 0; \
35 (opline)->result.num = 0; \
36 (opline)->opcode = ZEND_NOP; \
37 (opline)->op1_type = IS_UNUSED; \
38 (opline)->op2_type = IS_UNUSED; \
39 (opline)->result_type = IS_UNUSED; \
602 ((char*)(target) - (char*)(opline))
616 # define OP_JMP_ADDR(opline, node) \ argument
[all …]
H A Dzend_vm.h38 #define ZEND_VM_SET_OPCODE_HANDLER(opline) zend_vm_set_opcode_handler(opline) argument
H A Dzend_exceptions.h74 if (EX(opline)->opcode != ZEND_HANDLE_EXCEPTION) { in zend_rethrow_exception()
75 EG(opline_before_exception) = EX(opline); in zend_rethrow_exception()
76 EX(opline) = EG(exception_op); in zend_rethrow_exception()
H A DREADME.md88 opline->op<X>.op_type
90 get_zval_ptr(&opline->op<X>, EX(Ts), &free_op<X>, <TYPE>)
92 get_zval_ptr_ptr(&opline->op<X>, EX(Ts), &free_op<X>, <TYPE>)
94 get_obj_zval_ptr(&opline->op<X>, EX(Ts), &free_op<X>, <TYPE>)
96 get_obj_zval_ptr_ptr(&opline->op<X>, EX(Ts), &free_op<X>, <TYPE>)
H A Dzend_generators.c99 if (execute_data->opline != op_array->opcodes) { in zend_generator_cleanup_unfinished_execution()
101 uint32_t op_num = execute_data->opline - op_array->opcodes - 1; in zend_generator_cleanup_unfinished_execution()
198 op_num = ex->opline - ex->func->op_array.opcodes - 1; in zend_generator_dtor_storage()
226 ex->opline = &ex->func->op_array.opcodes[try_catch->finally_op]; in zend_generator_dtor_storage()
296 if (execute_data->opline != op_array->opcodes) { in calc_gc_buffer_size()
298 uint32_t i, op_num = execute_data->opline - op_array->opcodes - 1; in calc_gc_buffer_size()
390 if (execute_data->opline != op_array->opcodes) { in zend_generator_get_gc()
391 uint32_t i, op_num = execute_data->opline - op_array->opcodes - 1; in zend_generator_get_gc()
490 generator->execute_data->opline--; in zend_generator_throw_exception()
496 generator->execute_data->opline++; in zend_generator_throw_exception()
[all …]
/PHP-7.4/sapi/phpdbg/
H A Dphpdbg_bp.h88 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 Dphpdbg_bp.c491 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 Dphpdbg_prompt.c613 const zend_op *opline = op_array->opcodes; in phpdbg_skip_line_helper() local
618 if (opline->lineno != ex->opline->lineno in phpdbg_skip_line_helper()
619 || opline->opcode == ZEND_RETURN in phpdbg_skip_line_helper()
620 || opline->opcode == ZEND_FAST_RET in phpdbg_skip_line_helper()
622 || opline->opcode == ZEND_EXIT in phpdbg_skip_line_helper()
623 || opline->opcode == ZEND_YIELD in phpdbg_skip_line_helper()
624 || opline->opcode == ZEND_YIELD_FROM in phpdbg_skip_line_helper()
626 zend_hash_index_update_ptr(&PHPDBG_G(seek), (zend_ulong) opline, (void *) opline); in phpdbg_skip_line_helper()
658 const zend_op *opline = op_array->opcodes; in phpdbg_seek_to_end() local
662 switch (opline->opcode) { in phpdbg_seek_to_end()
[all …]
H A Dphpdbg_print.c34 …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 Dphpdbg_print.h32 PHPDBG_PRINT(opline);
/PHP-7.4/ext/opcache/
H A Dzend_persist.c390 zend_op *opline = new_opcodes; in zend_persist_op_array_ex() local
394 for (; opline < end ; opline++, offset++) { in zend_persist_op_array_ex()
402 zend_vm_set_opcode_handler_ex(opline, 1 << Z_TYPE_P(opline->op1.zv), 0, 0); in zend_persist_op_array_ex()
410 opline->op1.constant = in zend_persist_op_array_ex()
414 (char*)opline; in zend_persist_op_array_ex()
422 opline->op2.constant = in zend_persist_op_array_ex()
426 (char*)opline; in zend_persist_op_array_ex()
432 switch (opline->opcode) { in zend_persist_op_array_ex()
435 opline->op1.jmp_addr = &new_opcodes[opline->op1.jmp_addr - op_array->opcodes]; in zend_persist_op_array_ex()
449 opline->op2.jmp_addr = &new_opcodes[opline->op2.jmp_addr - op_array->opcodes]; in zend_persist_op_array_ex()
[all …]
H A Dzend_file_cache.c461 zend_op *opline, *end; local
470 UNSERIALIZE_PTR(opline);
472 while (opline < end) {
482 opline->op1.constant = RT_CONSTANT(opline, opline->op1) - literals;
485 opline->op2.constant = RT_CONSTANT(opline, opline->op2) - literals;
522 opline++;
1180 zend_op *opline, *end; local
1185 while (opline < end) {
1195 ZEND_PASS_TWO_UPDATE_CONSTANT(op_array, opline, opline->op1);
1198 ZEND_PASS_TWO_UPDATE_CONSTANT(op_array, opline, opline->op2);
[all …]
H A DZendAccelerator.c3863 key = Z_STR_P(RT_CONSTANT(opline, opline->op1) + 1); in preload_link()
3865 MAKE_NOP(opline); in preload_link()
3869 opline++; in preload_link()
3991 Z_TYPE_P(RT_CONSTANT(opline, opline->op1)) == IS_STRING) { in preload_remove_empty_includes()
4012 opline++; in preload_remove_empty_includes()
4031 Z_TYPE_P(RT_CONSTANT(opline, opline->op1)) == IS_STRING) { in preload_remove_empty_includes()
4038 MAKE_NOP(opline); in preload_remove_empty_includes()
4040 …if (!IS_ABSOLUTE_PATH(Z_STRVAL_P(RT_CONSTANT(opline, opline->op1)), Z_STRLEN_P(RT_CONSTANT(opline,… in preload_remove_empty_includes()
4042 zend_string_release(Z_STR_P(RT_CONSTANT(opline, opline->op1))); in preload_remove_empty_includes()
4043 ZVAL_STR_COPY(RT_CONSTANT(opline, opline->op1), resolved_path); in preload_remove_empty_includes()
[all …]
/PHP-7.4/sapi/fpm/fpm/
H A Dfpm_php_trace.c160 if (0 > fpm_trace_get_long(prev + offsetof(zend_execute_data, opline), &l)) { in fpm_php_trace_dump()
165 long opline = l; in fpm_php_trace_dump() local
168 if (0 > fpm_trace_get_long(opline + offsetof(struct _zend_op, lineno), &l)) { in fpm_php_trace_dump()
/PHP-7.4/Zend/tests/
H A Dbug78973.phpt2 Bug #78973: Destructor during CV freeing causes segfault if opline never saved
/PHP-7.4/sapi/phpdbg/tests/
H A Dgenerator_run.phpt2 Ensure proper saving of EX(opline)

Completed in 84 milliseconds

123