Home
last modified time | relevance | path

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

123

/PHP-7.4/
H A D.gdbinit138 printf "%s:%d ", $func->op_array.filename->val, $ex->opline->lineno
589 usage: printzn &opline->op1
594 printzn &execute_data->opline.op1
596 printzn &execute_data->opline.op2
598 printzn &execute_data->opline.result
602 dump operands of the current opline
H A DNEWS1182 . Fixed bug #78973 (Destructor during CV freeing causes segfault if opline
/PHP-7.4/Zend/
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.c1280 const zend_op *opline; in zend_error_va_list() local
1290 opline = NULL; in zend_error_va_list()
1294 if (ex && ex->opline->opcode == ZEND_HANDLE_EXCEPTION && in zend_error_va_list()
1296 opline = EG(opline_before_exception); in zend_error_va_list()
1300 if (opline) { in zend_error_va_list()
1301 ex->opline = opline; in zend_error_va_list()
1418 EG(current_execute_data)->opline->opcode == ZEND_INCLUDE_OR_EVAL && in zend_error_va_list()
1419 EG(current_execute_data)->opline->extended_value == ZEND_EVAL)) { in zend_error_va_list()
H A Dzend.h54 (EX(prev_execute_data)->opline->result_type != IS_UNUSED))
H A Dzend_builtin_functions.c2200 && skip->prev_execute_data->opline->opcode != ZEND_DO_FCALL in skip_internal_handler()
2201 && skip->prev_execute_data->opline->opcode != ZEND_DO_ICALL in skip_internal_handler()
2202 && skip->prev_execute_data->opline->opcode != ZEND_DO_UCALL in skip_internal_handler()
2203 && skip->prev_execute_data->opline->opcode != ZEND_DO_FCALL_BY_NAME in skip_internal_handler()
2252 if (skip->opline->opcode == ZEND_HANDLE_EXCEPTION) { in ZEND_FUNCTION()
2259 lineno = skip->opline->lineno; in ZEND_FUNCTION()
2320 switch (ptr->opline->extended_value) { in ZEND_FUNCTION()
2453 if (skip->opline->opcode == ZEND_HANDLE_EXCEPTION) { in zend_fetch_debug_backtrace()
2460 lineno = skip->opline->lineno; in zend_fetch_debug_backtrace()
2484 ZVAL_LONG(&tmp, prev->opline->lineno); in zend_fetch_debug_backtrace()
[all …]
H A Dzend_compile.c685 opline--; in zend_do_free()
700 opline--; in zend_do_free()
726 opline--; in zend_do_free()
1158 ++opline; in zend_build_delayed_early_binding_list()
1189 zval *lcname = RT_CONSTANT(opline, opline->op1); in zend_do_delayed_early_binding()
2429 opline->result.var = opline->op1.var; in zend_separate_if_call_and_write()
2886 if (opline && opline->opcode == ZEND_FETCH_OBJ_W) { in zend_compile_assign_ref()
4482 opline--; in zend_resolve_goto_label()
8214 opline->op1_type = opline->op2_type; in zend_compile_encaps_list()
8215 opline->op1 = opline->op2; in zend_compile_encaps_list()
[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_exceptions.c177 EG(current_execute_data)->opline->opcode == ZEND_HANDLE_EXCEPTION) { in zend_throw_exception_internal()
181 EG(opline_before_exception) = EG(current_execute_data)->opline; in zend_throw_exception_internal()
182 EG(current_execute_data)->opline = EG(exception_op); in zend_throw_exception_internal()
201 EG(current_execute_data)->opline = EG(opline_before_exception); in zend_clear_exception()
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 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_execute.h334 ZEND_API zval *zend_get_zval_ptr(const zend_op *opline, int op_type, const znode_op *node, const ze…
393 #define SKIP_EXT_OPLINE(opline) do { \ argument
394 while (UNEXPECTED((opline)->opcode >= ZEND_EXT_STMT \
395 && (opline)->opcode <= ZEND_TICKS)) { \
396 (opline)--; \
H A Dzend_execute_API.c532 if (EG(exception) && ex->opline->opcode == ZEND_HANDLE_EXCEPTION && in zend_get_executed_lineno()
533 ex->opline->lineno == 0 && EG(opline_before_exception)) { in zend_get_executed_lineno()
536 return ex->opline->lineno; in zend_get_executed_lineno()
680 EG(current_execute_data)->opline->opcode != ZEND_DO_FCALL && in zend_call_function()
681 EG(current_execute_data)->opline->opcode != ZEND_DO_ICALL && in zend_call_function()
682 EG(current_execute_data)->opline->opcode != ZEND_DO_UCALL && in zend_call_function()
683 EG(current_execute_data)->opline->opcode != ZEND_DO_FCALL_BY_NAME) { in zend_call_function()
688 dummy_execute_data.opline = NULL; in zend_call_function()
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 …]
H A Dzend_opcode.c509 zend_op *opline = op_array->opcodes, *end=opline+op_array->last; in zend_update_extended_stmts() local
516 opline++; in zend_update_extended_stmts()
520 opline->lineno = (opline+1)->lineno; in zend_update_extended_stmts()
526 opline++; in zend_update_extended_stmts()
781 opline--; in zend_calc_live_ranges()
970 opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, opline->extended_value); in pass_two()
998 opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, opline->extended_value); in pass_two()
1021 opline->extended_value = ZEND_OPLINE_NUM_TO_OFFSET(op_array, opline, opline->extended_value); in pass_two()
1026 ZEND_PASS_TWO_UPDATE_CONSTANT(op_array, opline, opline->op1); in pass_two()
1031 ZEND_PASS_TWO_UPDATE_CONSTANT(op_array, opline, opline->op2); in pass_two()
[all …]
H A Dzend_vm.h38 #define ZEND_VM_SET_OPCODE_HANDLER(opline) zend_vm_set_opcode_handler(opline) argument
H A Dzend_vm_def.h3010 opline = OP_JMP_ADDR(opline, opline->op2);
3039 opline = OP_JMP_ADDR(opline, opline->op2);
3071 opline = ZEND_OFFSET_TO_OPLINE(opline, opline->extended_value);
3073 opline = OP_JMP_ADDR(opline, opline->op2);
3111 opline = OP_JMP_ADDR(opline, opline->op2);
3144 opline = OP_JMP_ADDR(opline, opline->op2);
4466 gen_execute_data->opline = opline + 1;
7310 lcname = RT_CONSTANT(opline, opline->op1);
7579 opline = EX(opline);
7597 ZEND_VM_DISPATCH(opline->opcode, opline);
[all …]
H A Dzend_vm_execute.h2652 opline = EX(opline); in ZEND_USER_OPCODE_SPEC_HANDLER()
3373 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_SPEC_CONST_HANDLER()
3402 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPNZ_SPEC_CONST_HANDLER()
3436 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZNZ_SPEC_CONST_HANDLER()
3474 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_EX_SPEC_CONST_HANDLER()
3507 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPNZ_EX_SPEC_CONST_HANDLER()
13430 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_SPEC_TMPVAR_HANDLER()
13459 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPNZ_SPEC_TMPVAR_HANDLER()
13493 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZNZ_SPEC_TMPVAR_HANDLER()
13531 opline = OP_JMP_ADDR(opline, opline->op2); in ZEND_JMPZ_EX_SPEC_TMPVAR_HANDLER()
[all …]
/PHP-7.4/Zend/tests/
H A Dbug78973.phpt2 Bug #78973: Destructor during CV freeing causes segfault if opline never saved
/PHP-7.4/ext/opcache/Optimizer/
H A Dblock_pass.c82 #define SET_VAR_SOURCE(opline) Tsource[VAR_NUM(opline->result.var)] = opline argument
193 COPY_NODE(opline->result, opline->op1); in zend_optimize_block()
215 COPY_NODE(opline->op1, opline->op2); in zend_optimize_block()
223 COPY_NODE(opline->op1, opline->op2); in zend_optimize_block()
478 COPY_NODE(opline->op1, opline->op2); in zend_optimize_block()
624 (opline->result_type == opline->op1_type && in zend_optimize_block()
625 opline->result.var == opline->op1.var))) { in zend_optimize_block()
752 COPY_NODE(opline->op1, opline->op2); in zend_optimize_block()
892 if (opline->op1_type == opline->result_type && in zend_optimize_block()
893 opline->op1.var == opline->result.var) { in zend_optimize_block()
[all …]
H A Dcompact_literals.c289 opline++; in zend_optimizer_compact_literals()
507 opline->op1.constant = map[opline->op1.constant]; in zend_optimizer_compact_literals()
510 opline->op2.constant = map[opline->op2.constant]; in zend_optimizer_compact_literals()
618 opline->result.num = func_slot[opline->op2.constant]; in zend_optimizer_compact_literals()
622 func_slot[opline->op2.constant] = opline->result.num; in zend_optimizer_compact_literals()
656 opline->result.num = class_slot[opline->op1.constant]; in zend_optimizer_compact_literals()
660 class_slot[opline->op1.constant] = opline->result.num; in zend_optimizer_compact_literals()
751 opline->op2.num = class_slot[opline->op1.constant]; in zend_optimizer_compact_literals()
755 class_slot[opline->op1.constant] = opline->op2.num; in zend_optimizer_compact_literals()
788 opline++; in zend_optimizer_compact_literals()
[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 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 Ddfa_pass.c745 COPY_NODE(opline->op1, opline->op2); in zend_dfa_optimize_jmps()
771 COPY_NODE(opline->op1, opline->op2); in zend_dfa_optimize_jmps()
834 opline->op1.num = opline->op2.num; in zend_dfa_optimize_jmps()
900 COPY_NODE(opline->op1, opline->op2); in zend_dfa_optimize_jmps()
1236 opline->result_type = opline->op1_type; in zend_dfa_optimize_op_array()
1237 opline->result.var = opline->op1.var; in zend_dfa_optimize_op_array()
1238 opline->op1_type = opline->op2_type; in zend_dfa_optimize_op_array()
1239 opline->op1.var = opline->op2.var; in zend_dfa_optimize_op_array()
1290 opline->opcode = opline->extended_value; in zend_dfa_optimize_op_array()
1292 opline->result_type = opline->op1_type; in zend_dfa_optimize_op_array()
[all …]
H A Descape_analysis.c173 switch (opline->opcode) { in is_allocation_def()
208 switch (opline->opcode) { in is_allocation_def()
239 switch (opline->opcode) { in is_local_def()
258 switch (opline->opcode) { in is_local_def()
283 switch (opline->opcode) { in is_escape_use()
336 opline--; in is_escape_use()
338 if (opline->op1_type != IS_CV in is_escape_use()
352 switch (opline->opcode) { in is_escape_use()
354 if (opline->op1_type != IS_CV in is_escape_use()
360 if (opline->op2_type == IS_CV || opline->result_type != IS_UNUSED) { in is_escape_use()
[all …]

Completed in 299 milliseconds

123