/PHP-7.2/ext/opcache/Optimizer/ |
H A D | pass3.c | 211 } else if (target->opcode == opline->opcode && in zend_optimizer_pass3() 217 } else if (target->opcode == opline->opcode + 3 && in zend_optimizer_pass3() 225 } else if (target->opcode == INV_COND(opline->opcode) && in zend_optimizer_pass3() 231 } else if (target->opcode == INV_COND_EX(opline->opcode) && in zend_optimizer_pass3() 269 if (target->opcode == opline->opcode-3 && in zend_optimizer_pass3() 275 } else if (target->opcode == opline->opcode && in zend_optimizer_pass3() 295 } else if ((target->opcode == INV_EX_COND_EX(opline->opcode) || in zend_optimizer_pass3() 296 target->opcode == INV_EX_COND(opline->opcode)) && in zend_optimizer_pass3() 302 } else if (target->opcode == INV_EX_COND(opline->opcode) && in zend_optimizer_pass3() 308 } else if (target->opcode == INV_EX_COND_EX(opline->opcode) && in zend_optimizer_pass3() [all …]
|
H A D | optimize_func_calls.c | 50 switch (opline->opcode) { in zend_delete_call_instructions() 78 opline->opcode = ZEND_CHECK_VAR; in zend_delete_call_instructions() 82 opline->opcode = ZEND_FREE; in zend_delete_call_instructions() 137 opline->opcode = ZEND_QM_ASSIGN; in zend_try_inline_call() 165 switch (opline->opcode) { in zend_optimize_func_calls() 231 opline->opcode -= 9; in zend_optimize_func_calls() 246 opline->opcode -= 12; in zend_optimize_func_calls() 259 opline->opcode = ZEND_SEND_VAL; in zend_optimize_func_calls() 266 opline->opcode = ZEND_SEND_REF; in zend_optimize_func_calls() 268 opline->opcode = ZEND_SEND_VAR; in zend_optimize_func_calls() [all …]
|
H A D | block_pass.c | 335 (src->opcode == ZEND_BOOL || src->opcode == ZEND_BOOL_NOT)) { in zend_optimize_block() 466 opline->opcode = in zend_optimize_block() 478 opline->opcode = in zend_optimize_block() 1306 } else if (target->opcode == INV_COND(last_op->opcode) && in zend_jmp_optimization() 1316 } else if (target->opcode == INV_COND_EX(last_op->opcode) && in zend_jmp_optimization() 1327 } else if (target->opcode == last_op->opcode && in zend_jmp_optimization() 1358 if (last_op->opcode == ZEND_JMPZ || last_op->opcode == ZEND_JMPNZ) { in zend_jmp_optimization() 1441 } else if (target->opcode == last_op->opcode-3 && in zend_jmp_optimization() 1449 } else if (target->opcode == INV_EX_COND(last_op->opcode) && in zend_jmp_optimization() 1457 } else if (target->opcode == INV_EX_COND_EX(last_op->opcode) && in zend_jmp_optimization() [all …]
|
H A D | pass2.c | 42 switch (opline->opcode) { in zend_optimizer_pass2() 138 opline->opcode -= 3; in zend_optimizer_pass2() 146 if (opline->opcode == ZEND_JMPZ_EX) { in zend_optimizer_pass2() 150 opline->opcode = ZEND_QM_ASSIGN; in zend_optimizer_pass2() 161 if (opline->opcode == ZEND_JMPZ) { in zend_optimizer_pass2() 167 opline->opcode = ZEND_JMP; in zend_optimizer_pass2() 180 opline->opcode = ZEND_CHECK_VAR; in zend_optimizer_pass2() 183 opline->opcode = ZEND_FREE; in zend_optimizer_pass2() 189 if (opline->opcode == ZEND_JMPZ) { in zend_optimizer_pass2() 195 opline->opcode = ZEND_JMPZNZ; in zend_optimizer_pass2() [all …]
|
H A D | optimize_temp_vars_5.c | 84 if (opline->opcode == ZEND_ROPE_END) { in zend_optimize_temporary_variables() 111 (opline->opcode == ZEND_RETURN || in zend_optimize_temporary_variables() 112 opline->opcode == ZEND_GENERATOR_RETURN || in zend_optimize_temporary_variables() 113 opline->opcode == ZEND_RETURN_BY_REF || in zend_optimize_temporary_variables() 114 opline->opcode == ZEND_FREE || in zend_optimize_temporary_variables() 115 opline->opcode == ZEND_FE_FREE)) { in zend_optimize_temporary_variables() 119 if (curr->opcode == ZEND_FAST_CALL) { in zend_optimize_temporary_variables() 122 } else if (curr->opcode != ZEND_FREE && in zend_optimize_temporary_variables() 123 curr->opcode != ZEND_FE_FREE && in zend_optimize_temporary_variables() 160 if (opline->opcode != ZEND_FAST_CALL) { in zend_optimize_temporary_variables() [all …]
|
H A D | dfa_pass.c | 321 if (opline->opcode == ZEND_NEW) { in opline_supports_assign_contraction() 326 if (opline->opcode == ZEND_DO_ICALL || opline->opcode == ZEND_DO_UCALL in opline_supports_assign_contraction() 327 || opline->opcode == ZEND_DO_FCALL || opline->opcode == ZEND_DO_FCALL_BY_NAME) { in opline_supports_assign_contraction() 335 if (opline->opcode == ZEND_POST_INC || opline->opcode == ZEND_POST_DEC) { in opline_supports_assign_contraction() 347 if (opline->opcode == ZEND_CAST in opline_supports_assign_contraction() 502 switch (opline->opcode) { in zend_dfa_optimize_jmps() 642 if (opline->opcode == ZEND_ADD in zend_dfa_optimize_op_array() 643 || opline->opcode == ZEND_SUB in zend_dfa_optimize_op_array() 644 || opline->opcode == ZEND_MUL in zend_dfa_optimize_op_array() 783 opline->opcode = ZEND_PRE_INC; in zend_dfa_optimize_op_array() [all …]
|
H A D | pass1_5.c | 49 switch (opline->opcode) { in zend_optimizer_pass1() 83 opline->opcode = ZEND_QM_ASSIGN; in zend_optimizer_pass1() 101 opline->opcode = ZEND_QM_ASSIGN; in zend_optimizer_pass1() 111 opline->opcode = ZEND_BOOL; in zend_optimizer_pass1() 127 opline->opcode = ZEND_QM_ASSIGN; in zend_optimizer_pass1() 150 while (next_op->opcode == ZEND_ADD_STRING || next_op->opcode == ZEND_ADD_CHAR) { in zend_optimizer_pass1() 175 opline->opcode = ZEND_ADD_STRING; in zend_optimizer_pass1() 199 (opline + 1)->opcode = ZEND_JMP; in zend_optimizer_pass1() 226 opline->opcode = ZEND_QM_ASSIGN; in zend_optimizer_pass1() 253 opline->opcode = ZEND_QM_ASSIGN; in zend_optimizer_pass1() [all …]
|
H A D | dce.c | 76 switch (opline->opcode) { in may_have_side_effects() 296 switch (def_opline->opcode) { in try_remove_var_def() 351 if (opline->opcode == ZEND_FREE in dce_instr() 384 opline->opcode = ZEND_FREE; in dce_instr() 411 switch (opline->opcode) { in simplify_jumps() 416 opline->opcode = ZEND_JMPZ; in simplify_jumps() 434 switch (opline->opcode) { in simplify_jumps() 455 switch (opline->opcode) { in simplify_jumps() 461 opline->opcode = ZEND_JMP; in simplify_jumps() 472 opline->opcode = ZEND_JMP; in simplify_jumps() [all …]
|
H A D | zend_optimizer.c | 58 switch (opcode) { in zend_compound_assign_to_binary_op() 85 switch (opcode) { in zend_optimizer_eval_binary_op() 135 if (opcode == ZEND_BW_NOT in zend_optimizer_eval_unary_op() 261 switch (opline->opcode) { in zend_optimizer_update_op1_const() 340 switch (opline->opcode) { in zend_optimizer_update_op2_const() 508 if ((opline->opcode == ZEND_FREE || opline->opcode == ZEND_FE_FREE) && in zend_optimizer_remove_live_range() 569 switch (opline->opcode) { in zend_optimizer_replace_by_const() 695 } while (opline->opcode != ZEND_RETURN && opline->opcode != ZEND_RETURN_BY_REF); in zend_optimizer_replace_by_const() 726 switch (new_opline->opcode) { in zend_optimizer_migrate_jump() 772 switch (opline->opcode) { in zend_optimizer_shift_jump() [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 | zend_dfg.c | 50 if (opline->opcode != ZEND_OP_DATA) { in zend_build_dfg() 52 if (next < end && next->opcode == ZEND_OP_DATA) { in zend_build_dfg() 68 switch (opline->opcode) { in zend_build_dfg() 148 if (opline->opcode == ZEND_VERIFY_RETURN_TYPE) { in zend_build_dfg() 154 switch (opline->opcode) { in zend_build_dfg() 182 if (opline->opcode == ZEND_FE_FETCH_R || opline->opcode == ZEND_FE_FETCH_RW) { in zend_build_dfg()
|
H A D | zend_cfg.c | 44 zend_uchar opcode = opcodes[b->start + b->len - 1].opcode; in zend_mark_reachable() local 46 if (opcode == ZEND_JMP) { in zend_mark_reachable() 54 opcode == ZEND_YIELD || in zend_mark_reachable() 55 opcode == ZEND_YIELD_FROM || in zend_mark_reachable() 56 opcode == ZEND_DO_FCALL || in zend_mark_reachable() 57 opcode == ZEND_DO_UCALL || in zend_mark_reachable() 63 if (opcode == ZEND_RECV || in zend_mark_reachable() 64 opcode == ZEND_RECV_INIT) { in zend_mark_reachable() 76 ZEND_ASSERT(opcode == ZEND_SWITCH_LONG || opcode == ZEND_SWITCH_STRING); in zend_mark_reachable() 306 switch(opline->opcode) { in zend_build_cfg() [all …]
|
H A D | zend_inference.c | 549 switch (opcode) { in get_compound_assign_op() 571 switch (opcode) { in zend_inference_calc_binary_op_range() 995 switch (opline->opcode) { in zend_inference_calc_range() 2139 switch (opcode) { in binary_op_result_type() 2312 switch (opline->opcode) { in zend_update_type_info() 3266 opline->opcode != ZEND_FETCH_DIM_R && opline->opcode != ZEND_FETCH_DIM_IS in zend_update_type_info() 3311 if (opline->opcode != ZEND_FETCH_OBJ_R && opline->opcode != ZEND_FETCH_OBJ_IS) { in zend_update_type_info() 3553 return opline->opcode == ZEND_ADD || opline->opcode == ZEND_SUB in is_narrowable_instr() 3554 || opline->opcode == ZEND_MUL || opline->opcode == ZEND_DIV; in is_narrowable_instr() 3843 if (opline->opcode == ZEND_RETURN || opline->opcode == ZEND_RETURN_BY_REF) { in zend_func_return_info() [all …]
|
H A D | sccp.c | 143 switch (opline->opcode) { in can_replace_op1() 219 switch (opline->opcode) { in can_replace_op2() 242 switch (opline->opcode) { in try_replace_op1() 320 opline->opcode = ZEND_JMP; in try_replace_op1() 328 switch (opline->opcode) { in try_replace_op1() 520 if (opcode == ZEND_PRE_INC || opcode == ZEND_POST_INC) { in ct_eval_incdec() 877 switch (opline->opcode) { in sccp_visit_instr() 944 switch (opline->opcode) { in sccp_visit_instr() 1265 if (opline->opcode != ZEND_SEND_VAL && opline->opcode != ZEND_SEND_VAR) { in sccp_visit_instr() 1327 switch (opline->opcode) { in sccp_mark_feasible_successors() [all …]
|
H A D | zend_ssa.c | 185 if (op->opcode == ZEND_POST_DEC) { in find_adjusted_tmp_var() 190 } else if (op->opcode == ZEND_POST_INC) { in find_adjusted_tmp_var() 195 } else if (op->opcode == ZEND_ADD) { in find_adjusted_tmp_var() 211 } else if (op->opcode == ZEND_SUB) { in find_adjusted_tmp_var() 256 switch (opline->opcode) { in place_essa_pis() 270 ((opline-1)->opcode == ZEND_IS_EQUAL || in place_essa_pis() 385 if((opline-1)->opcode == ZEND_IS_EQUAL) { in place_essa_pis() 565 if (opline->opcode != ZEND_OP_DATA) { in zend_ssa_rename() 587 if (opline->opcode == ZEND_FE_FETCH_R || opline->opcode == ZEND_FE_FETCH_RW) { in zend_ssa_rename() 599 switch (opline->opcode) { in zend_ssa_rename() [all …]
|
/PHP-7.2/Zend/ |
H A D | zend_vm_opcodes.c | 426 ZEND_API const char* zend_get_opcode_name(zend_uchar opcode) { in zend_get_opcode_name() argument 427 return zend_vm_opcodes_names[opcode]; in zend_get_opcode_name() 429 ZEND_API uint32_t zend_get_opcode_flags(zend_uchar opcode) { in zend_get_opcode_flags() argument 430 return zend_vm_opcodes_flags[opcode]; in zend_get_opcode_flags()
|
H A D | zend_compile.c | 2137 opline->opcode = opcode; in zend_emit_op() 2163 opline->opcode = opcode; in zend_emit_op_tmp() 2293 tmp_opline.opcode = opcode; in zend_delayed_emit_op() 3123 opline->opcode = opcode; in zend_compile_compound_assign() 3134 opline->opcode = opcode; in zend_compile_compound_assign() 4376 opline->opcode = loop_var->opcode; in zend_handle_loops_and_finally_ex() 6883 if (!(opcode == ZEND_ADD || opcode == ZEND_SUB || opcode == ZEND_MUL || opcode == ZEND_DIV in zend_binary_op_produces_numeric_string_error() 6884 || opcode == ZEND_POW || opcode == ZEND_MOD || opcode == ZEND_SL || opcode == ZEND_SR in zend_binary_op_produces_numeric_string_error() 6885 || opcode == ZEND_BW_OR || opcode == ZEND_BW_AND || opcode == ZEND_BW_XOR)) { in zend_binary_op_produces_numeric_string_error() 6891 if ((opcode == ZEND_BW_OR || opcode == ZEND_BW_AND || opcode == ZEND_BW_XOR) in zend_binary_op_produces_numeric_string_error() [all …]
|
H A D | README.ZEND_VM | 4 ZEND_VM architecture allows specializing opcode handlers according to op_type 13 find opcode handlers and helpers. The typical opcode handler template looks 21 <OPCODE-NUMBER> is a opcode number (0, 1, ...) 22 <OPCODE> is an opcode name (ZEN_NOP, ZEND_ADD, :) 28 same as in old zend_execute.c, but now it uses macros to access opcode operands 90 zend_vm_execute.h. The first file is a list of opcode definitions. It is 95 different opcode threading model using --with-vm-kind=CALL|SWITCH|GOTO. You can 96 disable opcode specialization using --without-specializer. You can include or
|
H A D | zend_vm.h | 27 ZEND_API void zend_vm_set_opcode_handler(zend_op* opcode); 28 ZEND_API void zend_vm_set_opcode_handler_ex(zend_op* opcode, uint32_t op1_info, uint32_t op2_info, …
|
H A D | zend_opcode.c | 495 if (opline->opcode == ZEND_EXT_STMT) { in zend_update_extended_info() 497 if ((opline+1)->opcode == ZEND_EXT_STMT) { in zend_update_extended_info() 498 opline->opcode = ZEND_NOP; in zend_update_extended_info() 506 opline->opcode = ZEND_NOP; in zend_update_extended_info() 590 switch (opline->opcode) { in pass_two() 603 opline->opcode = ZEND_JMP; in pass_two() 636 if (call->opcode == ZEND_EXT_FCALL_END) { in pass_two() 656 opline->opcode = ZEND_GENERATOR_RETURN; in pass_two() 704 ZEND_API unary_op_type get_unary_op(int opcode) in get_unary_op() argument 706 switch (opcode) { in get_unary_op() [all …]
|
/PHP-7.2/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
|
H A D | bug32833.phpt | 2 Bug #32833 (Invalid opcode with $a[] .= '')
|
/PHP-7.2/sapi/phpdbg/ |
H A D | phpdbg_opcode.c | 30 static inline const char *phpdbg_decode_opcode(zend_uchar opcode) /* {{{ */ in ZEND_EXTERN_MODULE_GLOBALS() 32 const char *ret = zend_get_opcode_name(opcode); in ZEND_EXTERN_MODULE_GLOBALS() 98 const char *opcode_name = phpdbg_decode_opcode(opline->opcode); in phpdbg_decode_opline() 99 uint32_t flags = zend_get_opcode_flags(opline->opcode); in phpdbg_decode_opline() 116 switch (opline->opcode) { in phpdbg_decode_opline()
|
H A D | phpdbg.c | 488 …opcode == ZEND_NOP || opcode == ZEND_OP_DATA || opcode == ZEND_FE_FREE || opcode == ZEND_FREE || o… in phpdbg_is_ignored_opcode() 489 …|| opcode == ZEND_DECLARE_CONST || opcode == ZEND_DECLARE_CLASS || opcode == ZEND_DECLARE_INHERITE… in phpdbg_is_ignored_opcode() 490 …|| opcode == ZEND_DECLARE_INHERITED_CLASS_DELAYED || opcode == ZEND_VERIFY_ABSTRACT_CLASS || opcod… in phpdbg_is_ignored_opcode() 491 …|| opcode == ZEND_DECLARE_ANON_CLASS || opcode == ZEND_DECLARE_ANON_INHERITED_CLASS || opcode == Z… in phpdbg_is_ignored_opcode() 492 …|| opcode == ZEND_EXT_STMT || opcode == ZEND_EXT_FCALL_BEGIN || opcode == ZEND_EXT_FCALL_END || op… in phpdbg_is_ignored_opcode() 506 …_array->last >= 1 && (((end - 1)->opcode == ZEND_RETURN || (end - 1)->opcode == ZEND_RETURN_BY_REF… in phpdbg_oplog_fill_executable() 507 …(end - 2)->opcode == ZEND_RETURN || (end - 2)->opcode == ZEND_RETURN_BY_REF || (end - 2)->opcode =… in phpdbg_oplog_fill_executable() 513 zend_uchar opcode = cur->opcode; in phpdbg_oplog_fill_executable() local 514 if (phpdbg_is_ignored_opcode(opcode)) { in phpdbg_oplog_fill_executable() 524 if (opcode == ZEND_NEW && cur[1].opcode == ZEND_DO_FCALL) { in phpdbg_oplog_fill_executable() [all …]
|
/PHP-7.2/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.…
|