/PHP-8.0/ext/opcache/Optimizer/ |
H A D | pass3.c | 69 switch (opline->opcode) { in zend_optimizer_pass3() 171 } else if (target->opcode == opline->opcode && in zend_optimizer_pass3() 177 } else if (target->opcode == INV_COND(opline->opcode) && in zend_optimizer_pass3() 202 opline->opcode = ZEND_FREE; in zend_optimizer_pass3() 221 } else if (target->opcode == opline->opcode-3 && in zend_optimizer_pass3() 228 } else if (target->opcode == opline->opcode && in zend_optimizer_pass3() 244 } else if (target->opcode == INV_EX_COND(opline->opcode) && in zend_optimizer_pass3() 250 } else if (target->opcode == INV_EX_COND_EX(opline->opcode) && in zend_optimizer_pass3() 284 opline->opcode = ZEND_BOOL; in zend_optimizer_pass3() 298 } else if ((target->opcode == ZEND_JMPZ || target->opcode == ZEND_JMPZNZ) && in zend_optimizer_pass3() [all …]
|
H A D | optimize_func_calls.c | 52 switch (opline->opcode) { in zend_delete_call_instructions() 80 opline->opcode = ZEND_CHECK_VAR; in zend_delete_call_instructions() 84 opline->opcode = ZEND_FREE; in zend_delete_call_instructions() 140 opline->opcode = ZEND_QM_ASSIGN; in zend_try_inline_call() 168 switch (opline->opcode) { in zend_optimize_func_calls() 237 opline->opcode -= 9; in zend_optimize_func_calls() 251 opline->opcode -= 12; in zend_optimize_func_calls() 269 opline->opcode = ZEND_SEND_VAL; in zend_optimize_func_calls() 295 opline->opcode = ZEND_SEND_REF; in zend_optimize_func_calls() 297 opline->opcode = ZEND_SEND_VAR; in zend_optimize_func_calls() [all …]
|
H A D | block_pass.c | 204 switch (opline->opcode) { in zend_optimize_block() 424 opline->opcode = in zend_optimize_block() 437 opline->opcode = in zend_optimize_block() 600 opline->opcode = INV_COND(opline->opcode); in zend_optimize_block() 1324 } else if (target->opcode == last_op->opcode && in zend_jmp_optimization() 1328 } else if (target->opcode == INV_COND(last_op->opcode) && in zend_jmp_optimization() 1385 last_op->opcode = INV_COND(last_op->opcode); in zend_jmp_optimization() 1424 } else if (target->opcode == last_op->opcode-3 && in zend_jmp_optimization() 1429 } else if (target->opcode == last_op->opcode && in zend_jmp_optimization() 1440 } else if (target->opcode == INV_EX_COND(last_op->opcode) && in zend_jmp_optimization() [all …]
|
H A D | pass1.c | 47 switch (opline->opcode) { in zend_optimizer_pass1() 98 opline->opcode = ZEND_QM_ASSIGN; in zend_optimizer_pass1() 147 opline->opcode = ZEND_QM_ASSIGN; in zend_optimizer_pass1() 167 opline->opcode = ZEND_QM_ASSIGN; in zend_optimizer_pass1() 193 opline->opcode = ZEND_QM_ASSIGN; in zend_optimizer_pass1() 220 opline->opcode = ZEND_QM_ASSIGN; in zend_optimizer_pass1() 538 opline->opcode = ZEND_QM_ASSIGN; in zend_optimizer_pass1() 563 ((opline + 1)->opcode == opline->opcode + 1 || in zend_optimizer_pass1() 580 (opline + 1)->opcode = opline->opcode; in zend_optimizer_pass1() 634 opline->opcode = ZEND_JMP; in zend_optimizer_pass1() [all …]
|
H A D | optimize_temp_vars_5.c | 83 if (opline->opcode == ZEND_ROPE_END) { in zend_optimize_temporary_variables() 110 (opline->opcode == ZEND_RETURN || in zend_optimize_temporary_variables() 111 opline->opcode == ZEND_GENERATOR_RETURN || in zend_optimize_temporary_variables() 112 opline->opcode == ZEND_RETURN_BY_REF || in zend_optimize_temporary_variables() 113 opline->opcode == ZEND_FREE || in zend_optimize_temporary_variables() 114 opline->opcode == ZEND_FE_FREE)) { in zend_optimize_temporary_variables() 118 if (curr->opcode == ZEND_FAST_CALL) { in zend_optimize_temporary_variables() 121 } else if (curr->opcode != ZEND_FREE && in zend_optimize_temporary_variables() 122 curr->opcode != ZEND_FE_FREE && in zend_optimize_temporary_variables() 159 if (opline->opcode != ZEND_FAST_CALL) { in zend_optimize_temporary_variables() [all …]
|
H A D | dfa_pass.c | 327 if (opline->opcode == ZEND_NEW) { in opline_supports_assign_contraction() 332 if (opline->opcode == ZEND_DO_ICALL || opline->opcode == ZEND_DO_UCALL in opline_supports_assign_contraction() 333 || opline->opcode == ZEND_DO_FCALL || opline->opcode == ZEND_DO_FCALL_BY_NAME) { in opline_supports_assign_contraction() 341 if (opline->opcode == ZEND_POST_INC || opline->opcode == ZEND_POST_DEC) { in opline_supports_assign_contraction() 353 if (opline->opcode == ZEND_CAST in opline_supports_assign_contraction() 640 switch (opline->opcode) { in zend_ssa_replace_control_link() 776 switch (opline->opcode) { in zend_dfa_optimize_jmps() 794 opline->opcode = ZEND_JMP; in zend_dfa_optimize_jmps() 820 opline->opcode = ZEND_JMP; in zend_dfa_optimize_jmps() 860 opline->opcode = ZEND_JMP; in zend_dfa_optimize_jmps() [all …]
|
H A D | escape_analysis.c | 109 if (opline->opcode != ZEND_ASSIGN) { in zend_build_equi_escape_sets() 124 if (opline->opcode != ZEND_QM_ASSIGN) { in zend_build_equi_escape_sets() 173 switch (opline->opcode) { in is_allocation_def() 208 switch (opline->opcode) { in is_allocation_def() 237 switch (opline->opcode) { in is_local_def() 255 switch (opline->opcode) { in is_local_def() 280 switch (opline->opcode) { in is_escape_use() 325 if ((opline-1)->opcode != ZEND_ASSIGN_DIM in is_escape_use() 349 switch (opline->opcode) { in is_escape_use() 370 switch (opline->opcode) { in is_escape_use() [all …]
|
H A D | zend_optimizer.c | 75 if (opcode == ZEND_BW_NOT in zend_optimizer_eval_unary_op() 191 switch (opline->opcode) { in zend_optimizer_update_op1_const() 193 switch ((opline-1)->opcode) { in zend_optimizer_update_op1_const() 347 switch (opline->opcode) { in zend_optimizer_update_op2_const() 539 switch (opline->opcode) { in zend_optimizer_replace_by_const() 652 } while (opline->opcode != ZEND_RETURN && opline->opcode != ZEND_RETURN_BY_REF); in zend_optimizer_replace_by_const() 675 switch (new_opline->opcode) { in zend_optimizer_migrate_jump() 721 switch (opline->opcode) { in zend_optimizer_shift_jump() 796 switch (opline->opcode) { in zend_optimizer_get_called_func() 1103 switch (opline->opcode) { in zend_redo_pass_two() [all …]
|
H A D | sccp.c | 213 switch (opline->opcode) { in can_replace_op1() 282 switch (opline->opcode) { in can_replace_op2() 302 switch (opline->opcode) { in try_replace_op1() 351 switch (opline->opcode) { in try_replace_op2() 713 if (opcode == ZEND_PRE_INC in ct_eval_incdec() 1017 switch (opline->opcode) { in sccp_visit_instr() 1395 switch (opline->opcode) { in sccp_visit_instr() 1551 if (opline->opcode == ZEND_PRE_INC_OBJ || opline->opcode == ZEND_PRE_DEC_OBJ) { in sccp_visit_instr() 1832 if (opline->opcode != ZEND_SEND_VAL && opline->opcode != ZEND_SEND_VAR) { in sccp_visit_instr() 1894 switch (opline->opcode) { in sccp_mark_feasible_successors() [all …]
|
H A D | nop_removal.c | 48 if (opline->opcode == ZEND_JMP && ZEND_OP1_JMP_ADDR(opline) > op_array->opcodes + i) { in zend_optimizer_nop_removal() 52 while (target->opcode == ZEND_NOP) { in zend_optimizer_nop_removal() 57 opline->opcode = ZEND_NOP; in zend_optimizer_nop_removal() 62 if (opline->opcode == ZEND_NOP) { in zend_optimizer_nop_removal()
|
H A D | dce.c | 79 switch (opline->opcode) { in may_have_side_effects() 286 || (opline->opcode == ZEND_ASSIGN in add_operands_to_worklists() 295 || (opline->opcode == ZEND_FE_FETCH_R in add_operands_to_worklists() 342 switch (def_opline->opcode) { in try_remove_var_def() 389 if (opline->opcode == ZEND_NOP) { in dce_instr() 394 if (opline->opcode == ZEND_FREE in dce_instr() 404 && opline->opcode != ZEND_CASE && opline->opcode != ZEND_CASE_STRICT) { in dce_instr() 428 opline->opcode = ZEND_FREE; in dce_instr() 554 if (op_array->opcodes[i].opcode == ZEND_OP_DATA) { in dce_optimize_op_array() 569 if (op_array->opcodes[i].opcode == ZEND_NEW in dce_optimize_op_array() [all …]
|
H A D | zend_ssa.h | 220 if (opline->opcode == ZEND_ASSIGN in zend_ssa_is_no_val_use() 221 || opline->opcode == ZEND_UNSET_CV in zend_ssa_is_no_val_use() 222 || opline->opcode == ZEND_BIND_GLOBAL in zend_ssa_is_no_val_use() 223 || opline->opcode == ZEND_BIND_STATIC) { in zend_ssa_is_no_val_use() 226 if (opline->opcode == ZEND_FE_FETCH_R || opline->opcode == ZEND_FE_FETCH_RW) { in zend_ssa_is_no_val_use() 230 && opline->opcode != ZEND_ADD_ARRAY_ELEMENT in zend_ssa_is_no_val_use() 231 && opline->opcode != ZEND_ADD_ARRAY_UNPACK) { in zend_ssa_is_no_val_use()
|
H A D | zend_cfg.c | 44 zend_uchar opcode = opcodes[b->start + b->len - 1].opcode; in zend_mark_reachable() local 45 if (opcode == ZEND_MATCH) { in zend_mark_reachable() 47 } else if (opcode == ZEND_SWITCH_LONG || opcode == ZEND_SWITCH_STRING) { in zend_mark_reachable() 54 if (opcode == ZEND_JMP) { in zend_mark_reachable() 62 opcode == ZEND_YIELD || in zend_mark_reachable() 64 opcode == ZEND_DO_FCALL || in zend_mark_reachable() 65 opcode == ZEND_DO_UCALL || in zend_mark_reachable() 71 if (opcode == ZEND_RECV || in zend_mark_reachable() 72 opcode == ZEND_RECV_INIT) { in zend_mark_reachable() 290 switch (opline->opcode) { in zend_build_cfg() [all …]
|
/PHP-8.0/ext/zend_test/tests/ |
H A D | observer_opline_01.phpt | 23 <!-- opcode: 'ZEND_INIT_FCALL' --> 25 <!-- opcode: 'ZEND_INIT_FCALL' --> 27 <!-- opcode: 'ZEND_ECHO' --> 29 <!-- opcode: 'ZEND_ECHO' --> 31 <!-- opcode: 'ZEND_RETURN' --> 38 <!-- opcode: 'ZEND_ECHO' --> 40 <!-- opcode: 'ZEND_ECHO' --> 44 <!-- opcode: 'ZEND_RETURN' --> 48 <!-- opcode: 'ZEND_ECHO' --> 50 <!-- opcode: 'ZEND_RETURN' --> [all …]
|
/PHP-8.0/Zend/ |
H A D | zend_vm_opcodes.c | 431 ZEND_API const char* ZEND_FASTCALL zend_get_opcode_name(zend_uchar opcode) { in zend_get_opcode_name() argument 432 if (UNEXPECTED(opcode > ZEND_VM_LAST_OPCODE)) { in zend_get_opcode_name() 435 return zend_vm_opcodes_names[opcode]; in zend_get_opcode_name() 437 ZEND_API uint32_t ZEND_FASTCALL zend_get_opcode_flags(zend_uchar opcode) { in zend_get_opcode_flags() argument 438 if (UNEXPECTED(opcode > ZEND_VM_LAST_OPCODE)) { in zend_get_opcode_flags() 439 opcode = ZEND_NOP; in zend_get_opcode_flags() 441 return zend_vm_opcodes_flags[opcode]; in zend_get_opcode_flags()
|
H A D | zend_opcode.c | 558 opline->opcode = ZEND_NOP; in zend_update_extended_stmts() 566 opline->opcode = ZEND_NOP; in zend_update_extended_stmts() 642 switch (def_opline->opcode) { in emit_live_range() 693 switch (def_opline->opcode) { in emit_live_range() 790 if (opline->opcode == ZEND_CASE in keeps_op1_alive() 794 || opline->opcode == ZEND_MATCH in keeps_op1_alive() 804 && opline->opcode != ZEND_ROPE_ADD); in keeps_op1_alive() 986 switch (opline->opcode) { in pass_two() 1009 opline->opcode = ZEND_JMP; in pass_two() 1107 switch (opcode) { in get_unary_op() [all …]
|
H A D | zend_vm.h | 24 ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler(zend_op* opcode); 25 ZEND_API void ZEND_FASTCALL zend_vm_set_opcode_handler_ex(zend_op* opcode, uint32_t op1_info, uint3…
|
H A D | README.md | 33 `ZEND_VM` architecture allows specializing opcode handlers according to 42 opcode handlers and helpers. The typical opcode handler template looks like 52 `<OPCODE-NUMBER>` is a opcode number (0, 1, ...) 53 `<OPCODE>` is an opcode name (ZEN_NOP, ZEND_ADD, :) 59 same as in old `zend_execute.c`, but now it uses macros to access opcode 124 `zend_vm_opcodes.h` and `zend_vm_execute.h`. The first file is a list of opcode 129 different opcode threading model using `--with-vm-kind=CALL|SWITCH|GOTO`. You 130 can disable opcode specialization using `--without-specializer`. You can include
|
/PHP-8.0/ext/opcache/jit/ |
H A D | zend_jit_vm_helpers.c | 621 && opline->opcode != ZEND_ROPE_ADD 622 && opline->opcode != ZEND_ROPE_END 623 && opline->opcode != ZEND_NEW 650 && opline->opcode != ZEND_INSTANCEOF 667 || (opline->opcode != ZEND_FE_FETCH_R 688 if (opline->opcode == ZEND_ASSIGN_DIM || 689 opline->opcode == ZEND_ASSIGN_OBJ || 691 opline->opcode == ZEND_ASSIGN_DIM_OP || 725 if (opline->opcode == ZEND_DO_FCALL 726 || opline->opcode == ZEND_DO_ICALL [all …]
|
H A D | zend_jit_trace.c | 268 switch (opline->opcode) { in zend_jit_trace_may_exit() 533 switch (opline->opcode) { in zend_jit_trace_op_len() 940 switch (opline->opcode) { in zend_jit_trace_find_init_fcall_op() 1112 switch (opline->opcode) { in zend_jit_trace_build_tssa() 1575 switch (opline->opcode) { in zend_jit_trace_build_tssa() 2035 if ((opline->opcode != ZEND_FE_FETCH_R && opline->opcode != ZEND_FE_FETCH_RW) in zend_jit_trace_build_tssa() 2639 || (opline->opcode != ZEND_PRE_INC && opline->opcode != ZEND_PRE_DEC)) { in zend_jit_trace_allocate_registers() 3475 switch (opline->opcode) { in zend_jit_trace_update_condition_ranges() 5900 if (opline->opcode != ZEND_NOP && opline->opcode != ZEND_JMP) { in zend_jit_trace() 7760 switch (opline->opcode) { in zend_jit_trace_supported() [all …]
|
H A D | zend_jit_internal.h | 495 *exit_if_true = opline->opcode == ZEND_JMPNZ; in zend_jit_trace_get_exit_opline() 499 *exit_if_true = opline->opcode == ZEND_JMPZ; in zend_jit_trace_get_exit_opline() 513 if (opline->opcode == ZEND_INIT_FCALL in zend_jit_may_be_polymorphic_call() 514 || opline->opcode == ZEND_INIT_FCALL_BY_NAME in zend_jit_may_be_polymorphic_call() 515 || opline->opcode == ZEND_INIT_NS_FCALL_BY_NAME) { in zend_jit_may_be_polymorphic_call() 517 } else if (opline->opcode == ZEND_INIT_METHOD_CALL in zend_jit_may_be_polymorphic_call() 518 || opline->opcode == ZEND_INIT_DYNAMIC_CALL) { in zend_jit_may_be_polymorphic_call() 520 } else if (opline->opcode == ZEND_INIT_STATIC_METHOD_CALL) { in zend_jit_may_be_polymorphic_call() 522 } else if (opline->opcode == ZEND_INIT_USER_CALL) { in zend_jit_may_be_polymorphic_call() 524 } else if (opline->opcode == ZEND_NEW) { in zend_jit_may_be_polymorphic_call()
|
/PHP-8.0/Zend/tests/ |
H A D | bug73663.phpt | 2 Bug #73663 ("Invalid opcode 65/16/8" occurs with a variable created with list()) 15 var_dump(list($val) = $array); // NG: Invalid opcode
|
/PHP-8.0/ext/opcache/tests/jit/ |
H A D | bug80745.phpt | 19 public $opcode = 0; 30 $flags = ($flags << 4) | $message->opcode;
|
/PHP-8.0/ext/xml/tests/ |
H A D | bug30266.phpt | 2 Bug #30266 (Invalid opcode 137/1/8) 13 Fatal error: Invalid opcode 137/1/8. in /home/hartmut/projects/php/dev/head/ext/xml/tests/bug30266.…
|
/PHP-8.0/sapi/phpdbg/ |
H A D | phpdbg_opcode.c | 28 static inline const char *phpdbg_decode_opcode(zend_uchar opcode) /* {{{ */ in ZEND_EXTERN_MODULE_GLOBALS() 30 const char *ret = zend_get_opcode_name(opcode); in ZEND_EXTERN_MODULE_GLOBALS() 92 const char *opcode_name = phpdbg_decode_opcode(opline->opcode); in phpdbg_decode_opline() 93 uint32_t flags = zend_get_opcode_flags(opline->opcode); in phpdbg_decode_opline() 110 switch (opline->opcode) { in phpdbg_decode_opline()
|