Lines Matching refs:opcode
146 if ((*call_info)->caller_init_opline->opcode == ZEND_NOP) { in zend_ssa_remove_nops()
165 ZEND_ASSERT(op_array->opcodes[b->start].opcode == ZEND_FREE in zend_ssa_remove_nops()
166 || op_array->opcodes[b->start].opcode == ZEND_FE_FREE); in zend_ssa_remove_nops()
174 if (EXPECTED(op_array->opcodes[i].opcode != ZEND_NOP)) { in zend_ssa_remove_nops()
191 if (opline->opcode == ZEND_NOP) { in zend_ssa_remove_nops()
337 if (opline->opcode == ZEND_NEW) { in opline_supports_assign_contraction()
342 if (opline->opcode == ZEND_DO_ICALL || opline->opcode == ZEND_DO_UCALL in opline_supports_assign_contraction()
343 || opline->opcode == ZEND_DO_FCALL || opline->opcode == ZEND_DO_FCALL_BY_NAME) { in opline_supports_assign_contraction()
351 if (opline->opcode == ZEND_POST_INC || opline->opcode == ZEND_POST_DEC) { in opline_supports_assign_contraction()
357 if (opline->opcode == ZEND_INIT_ARRAY) { in opline_supports_assign_contraction()
363 if (opline->opcode == ZEND_CAST in opline_supports_assign_contraction()
370 if ((opline->opcode == ZEND_ASSIGN_OP in opline_supports_assign_contraction()
371 || opline->opcode == ZEND_ASSIGN_OBJ in opline_supports_assign_contraction()
372 || opline->opcode == ZEND_ASSIGN_DIM in opline_supports_assign_contraction()
373 || opline->opcode == ZEND_ASSIGN_OBJ_OP in opline_supports_assign_contraction()
374 || opline->opcode == ZEND_ASSIGN_DIM_OP) in opline_supports_assign_contraction()
412 && call_info->caller_call_opline->opcode == ZEND_DO_ICALL in zend_dfa_optimize_calls()
417 && (call_info->caller_call_opline - 1)->opcode == ZEND_SEND_VAL in zend_dfa_optimize_calls()
436 if (send_array->opcode == ZEND_SEND_VAL in zend_dfa_optimize_calls()
439 && (send_needly->opcode == ZEND_SEND_VAL in zend_dfa_optimize_calls()
440 || send_needly->opcode == ZEND_SEND_VAR) in zend_dfa_optimize_calls()
497 call_info->caller_call_opline->opcode = ZEND_IN_ARRAY; in zend_dfa_optimize_calls()
523 && (op_array->opcodes[use].opcode == ZEND_JMPZ in zend_dfa_optimize_calls()
524 || op_array->opcodes[use].opcode == ZEND_JMPNZ)) { in zend_dfa_optimize_calls()
578 if (opline->opcode == ZEND_NOP) { in compress_block()
653 switch (opline->opcode) { in zend_ssa_replace_control_link()
725 if ((op_array->opcodes[pred_block->start + pred_block->len - 1].opcode == ZEND_FE_FETCH_R in zend_ssa_unlink_block()
726 || op_array->opcodes[pred_block->start + pred_block->len - 1].opcode == ZEND_FE_FETCH_RW) in zend_ssa_unlink_block()
789 switch (opline->opcode) { in zend_dfa_optimize_jmps()
807 opline->opcode = ZEND_JMP; in zend_dfa_optimize_jmps()
816 opline->opcode = ZEND_CHECK_VAR; in zend_dfa_optimize_jmps()
823 opline->opcode = ZEND_FREE; in zend_dfa_optimize_jmps()
833 opline->opcode = ZEND_JMP; in zend_dfa_optimize_jmps()
847 opline->opcode = ZEND_CHECK_VAR; in zend_dfa_optimize_jmps()
854 opline->opcode = ZEND_FREE; in zend_dfa_optimize_jmps()
873 opline->opcode = ZEND_JMP; in zend_dfa_optimize_jmps()
880 opline->opcode = ZEND_CHECK_VAR; in zend_dfa_optimize_jmps()
887 opline->opcode = ZEND_FREE; in zend_dfa_optimize_jmps()
895 opline->opcode = ZEND_JMP; in zend_dfa_optimize_jmps()
906 opline->opcode = ZEND_JMPZ; in zend_dfa_optimize_jmps()
912 opline->opcode = ZEND_QM_ASSIGN; in zend_dfa_optimize_jmps()
920 opline->opcode = ZEND_JMPNZ; in zend_dfa_optimize_jmps()
926 opline->opcode = ZEND_QM_ASSIGN; in zend_dfa_optimize_jmps()
934 opline->opcode = ZEND_JMPNZ; in zend_dfa_optimize_jmps()
960 opline->opcode = ZEND_JMP; in zend_dfa_optimize_jmps()
976 opline->opcode = ZEND_JMP; in zend_dfa_optimize_jmps()
999 (opline->opcode == ZEND_SWITCH_LONG && type == IS_LONG) in zend_dfa_optimize_jmps()
1000 || (opline->opcode == ZEND_SWITCH_STRING && type == IS_STRING) in zend_dfa_optimize_jmps()
1001 || (opline->opcode == ZEND_MATCH && (type == IS_LONG || type == IS_STRING)); in zend_dfa_optimize_jmps()
1007 if (!correct_type && opline->opcode != ZEND_MATCH) { in zend_dfa_optimize_jmps()
1028 ZEND_ASSERT(opline->opcode == ZEND_MATCH); in zend_dfa_optimize_jmps()
1031 opline->opcode = ZEND_JMP; in zend_dfa_optimize_jmps()
1082 && op_array->opcodes[use].opcode != ZEND_FREE in zend_dfa_try_to_replace_result()
1083 && op_array->opcodes[use].opcode != ZEND_SEND_VAL in zend_dfa_try_to_replace_result()
1084 && op_array->opcodes[use].opcode != ZEND_SEND_VAL_EX in zend_dfa_try_to_replace_result()
1085 && op_array->opcodes[use].opcode != ZEND_VERIFY_RETURN_TYPE in zend_dfa_try_to_replace_result()
1086 && op_array->opcodes[use].opcode != ZEND_YIELD) { in zend_dfa_try_to_replace_result()
1211 if (opline->opcode == ZEND_ASSIGN in zend_dfa_optimize_op_array()
1224 } else if (opline->opcode == ZEND_QM_ASSIGN in zend_dfa_optimize_op_array()
1237 if (opline->opcode == ZEND_ADD in zend_dfa_optimize_op_array()
1238 || opline->opcode == ZEND_SUB in zend_dfa_optimize_op_array()
1239 || opline->opcode == ZEND_MUL in zend_dfa_optimize_op_array()
1240 || opline->opcode == ZEND_IS_EQUAL in zend_dfa_optimize_op_array()
1241 || opline->opcode == ZEND_IS_NOT_EQUAL in zend_dfa_optimize_op_array()
1242 || opline->opcode == ZEND_IS_SMALLER in zend_dfa_optimize_op_array()
1243 || opline->opcode == ZEND_IS_SMALLER_OR_EQUAL in zend_dfa_optimize_op_array()
1258 if (opline->opcode == ZEND_ADD) { in zend_dfa_optimize_op_array()
1270 opline->opcode = ZEND_QM_ASSIGN; in zend_dfa_optimize_op_array()
1280 } else if (opline->opcode == ZEND_MUL in zend_dfa_optimize_op_array()
1292 opline->opcode = ZEND_ADD; in zend_dfa_optimize_op_array()
1311 if (opline->opcode == ZEND_ADD || opline->opcode == ZEND_SUB) { in zend_dfa_optimize_op_array()
1321 opline->opcode = ZEND_QM_ASSIGN; in zend_dfa_optimize_op_array()
1325 } else if (opline->opcode == ZEND_MUL in zend_dfa_optimize_op_array()
1337 opline->opcode = ZEND_ADD; in zend_dfa_optimize_op_array()
1345 } else if (opline->opcode == ZEND_CONCAT) { in zend_dfa_optimize_op_array()
1348 opline->opcode = ZEND_FAST_CONCAT; in zend_dfa_optimize_op_array()
1350 } else if (opline->opcode == ZEND_VERIFY_RETURN_TYPE in zend_dfa_optimize_op_array()
1381 if (opline->opcode == ZEND_QM_ASSIGN in zend_dfa_optimize_op_array()
1434 if (op_array->opcodes[op_2].opcode == ZEND_SUB in zend_dfa_optimize_op_array()
1443 op_array->opcodes[op_2].opcode = ZEND_PRE_DEC; in zend_dfa_optimize_op_array()
1450 } else if (op_array->opcodes[op_2].opcode == ZEND_ADD in zend_dfa_optimize_op_array()
1459 op_array->opcodes[op_2].opcode = ZEND_PRE_INC; in zend_dfa_optimize_op_array()
1466 } else if (op_array->opcodes[op_2].opcode == ZEND_ADD in zend_dfa_optimize_op_array()
1475 op_array->opcodes[op_2].opcode = ZEND_PRE_INC; in zend_dfa_optimize_op_array()
1499 if (opline->opcode == ZEND_ASSIGN in zend_dfa_optimize_op_array()
1500 || opline->opcode == ZEND_ASSIGN_OP in zend_dfa_optimize_op_array()
1501 || opline->opcode == ZEND_PRE_INC in zend_dfa_optimize_op_array()
1502 || opline->opcode == ZEND_PRE_DEC) { in zend_dfa_optimize_op_array()
1504 } else if (opline->opcode == ZEND_POST_INC) { in zend_dfa_optimize_op_array()
1511 if (use >= 0 && op_array->opcodes[use].opcode == ZEND_IS_SMALLER in zend_dfa_optimize_op_array()
1514 opline->opcode = ZEND_PRE_INC; in zend_dfa_optimize_op_array()
1515 op_array->opcodes[use].opcode = ZEND_IS_SMALLER_OR_EQUAL; in zend_dfa_optimize_op_array()
1518 } else if (opline->opcode == ZEND_POST_DEC) { in zend_dfa_optimize_op_array()
1525 if (use >= 0 && op_array->opcodes[use].opcode == ZEND_IS_SMALLER in zend_dfa_optimize_op_array()
1528 opline->opcode = ZEND_PRE_DEC; in zend_dfa_optimize_op_array()
1529 op_array->opcodes[use].opcode = ZEND_IS_SMALLER_OR_EQUAL; in zend_dfa_optimize_op_array()
1535 if (opline->opcode == ZEND_ASSIGN in zend_dfa_optimize_op_array()
1589 if (op_array->opcodes[op_2].opcode == ZEND_SUB in zend_dfa_optimize_op_array()
1598 op_array->opcodes[op_2].opcode = ZEND_PRE_DEC; in zend_dfa_optimize_op_array()
1605 } else if (op_array->opcodes[op_2].opcode == ZEND_ADD in zend_dfa_optimize_op_array()
1614 op_array->opcodes[op_2].opcode = ZEND_PRE_INC; in zend_dfa_optimize_op_array()
1621 } else if (op_array->opcodes[op_2].opcode == ZEND_ADD in zend_dfa_optimize_op_array()
1630 op_array->opcodes[op_2].opcode = ZEND_PRE_INC; in zend_dfa_optimize_op_array()
1673 opline->opcode = ZEND_QM_ASSIGN; in zend_dfa_optimize_op_array()
1677 } else if (opline->opcode == ZEND_ASSIGN_OP in zend_dfa_optimize_op_array()
1688 opline->opcode = ZEND_PRE_INC; in zend_dfa_optimize_op_array()
1692 } else if (opline->opcode == ZEND_ASSIGN_OP in zend_dfa_optimize_op_array()
1703 opline->opcode = ZEND_PRE_DEC; in zend_dfa_optimize_op_array()
1711 && opline->opcode == ZEND_ASSIGN_OP in zend_dfa_optimize_op_array()
1721 opline->opcode = opline->extended_value; in zend_dfa_optimize_op_array()