Lines Matching refs:opcode

126 		switch((unsigned)opline->opcode) {  in find_code_blocks()
206 (op_array->opcodes[op_array->brk_cont_array[i].brk].opcode == ZEND_FREE || in find_code_blocks()
207 op_array->opcodes[op_array->brk_cont_array[i].brk].opcode == ZEND_FE_FREE || in find_code_blocks()
208 op_array->opcodes[op_array->brk_cont_array[i].brk].opcode == ZEND_ROPE_END || in find_code_blocks()
209 op_array->opcodes[op_array->brk_cont_array[i].brk].opcode == ZEND_END_SILENCE)) { in find_code_blocks()
214 (op_array->opcodes[op_array->brk_cont_array[parent].brk].opcode != ZEND_FREE || in find_code_blocks()
215 op_array->opcodes[op_array->brk_cont_array[parent].brk].opcode != ZEND_FE_FREE || in find_code_blocks()
216 op_array->opcodes[op_array->brk_cont_array[i].brk].opcode != ZEND_ROPE_END || in find_code_blocks()
217 op_array->opcodes[op_array->brk_cont_array[parent].brk].opcode != ZEND_END_SILENCE)) { in find_code_blocks()
231 (op_array->opcodes[op_array->brk_cont_array[i].brk].opcode == ZEND_FREE || in find_code_blocks()
232 op_array->opcodes[op_array->brk_cont_array[i].brk].opcode == ZEND_FE_FREE || in find_code_blocks()
233 op_array->opcodes[op_array->brk_cont_array[i].brk].opcode == ZEND_ROPE_END || in find_code_blocks()
234 op_array->opcodes[op_array->brk_cont_array[i].brk].opcode == ZEND_END_SILENCE)) { in find_code_blocks()
266 if (opline->opcode == ZEND_OP_DATA) { in find_code_blocks()
269 switch((unsigned)opline->opcode) { in find_code_blocks()
570 } while (predecessor->opcode == ZEND_NOP); in is_predecessor_smart_branch()
581 while (block->len > 0 && block->start_opline->opcode == ZEND_NOP) { in strip_nop()
590 && ((block->start_opline + 1)->opcode == ZEND_JMPZ in strip_nop()
591 || (block->start_opline + 1)->opcode == ZEND_JMPNZ) in strip_nop()
611 while (opline < end && opline->opcode == ZEND_NOP) { in strip_nop()
613 && ((opline + 1)->opcode == ZEND_JMPZ in strip_nop()
614 || (opline + 1)->opcode == ZEND_JMPNZ) in strip_nop()
625 while (opline < end && opline->opcode != ZEND_NOP) { in strip_nop()
647 while (block->len > 0 && block->start_opline->opcode == ZEND_NOP) { in zend_optimize_block()
654 && ((block->start_opline + 1)->opcode == ZEND_JMPZ in zend_optimize_block()
655 || (block->start_opline + 1)->opcode == ZEND_JMPNZ) in zend_optimize_block()
676 VAR_SOURCE(opline->op1)->opcode == ZEND_QM_ASSIGN && in zend_optimize_block()
678 opline->opcode != ZEND_CASE && /* CASE _always_ expects variable */ in zend_optimize_block()
679 opline->opcode != ZEND_FETCH_LIST && in zend_optimize_block()
680 (opline->opcode != ZEND_FE_RESET_R || opline->opcode != ZEND_FE_RESET_RW) && in zend_optimize_block()
681 opline->opcode != ZEND_FREE in zend_optimize_block()
697 VAR_SOURCE(opline->op2)->opcode == ZEND_QM_ASSIGN && in zend_optimize_block()
711 if (opline->opcode == ZEND_ECHO && in zend_optimize_block()
714 VAR_SOURCE(opline->op1)->opcode == ZEND_CAST && in zend_optimize_block()
725 if (opline->opcode == ZEND_FREE && in zend_optimize_block()
729 if (src->opcode == ZEND_BOOL) { in zend_optimize_block()
733 src->opcode = ZEND_FREE; in zend_optimize_block()
749 VAR_SOURCE(opline->op1) && VAR_SOURCE(opline->op1)->opcode == ZEND_DO_CF_FCALL && in zend_optimize_block()
753 if(sv >= block->start_opline && sv->opcode == ZEND_SEND_VAL && in zend_optimize_block()
810 if (opline->opcode == ZEND_IS_EQUAL || in zend_optimize_block()
811 opline->opcode == ZEND_IS_NOT_EQUAL || in zend_optimize_block()
813 (opline->opcode == ZEND_CASE && (ZEND_OP1_TYPE(opline) & (IS_CONST|IS_CV)))) { in zend_optimize_block()
824 opline->opcode = in zend_optimize_block()
825 ((opline->opcode != ZEND_IS_NOT_EQUAL) == ((Z_TYPE(ZEND_OP1_LITERAL(opline))) == IS_TRUE)) ? in zend_optimize_block()
839 opline->opcode = in zend_optimize_block()
840 ((opline->opcode != ZEND_IS_NOT_EQUAL) == ((Z_TYPE(ZEND_OP2_LITERAL(opline))) == IS_TRUE)) ? in zend_optimize_block()
846 if ((opline->opcode == ZEND_BOOL || in zend_optimize_block()
847 opline->opcode == ZEND_BOOL_NOT || in zend_optimize_block()
848 opline->opcode == ZEND_JMPZ || in zend_optimize_block()
849 opline->opcode == ZEND_JMPNZ || in zend_optimize_block()
850 opline->opcode == ZEND_JMPZNZ) && in zend_optimize_block()
854 VAR_SOURCE(opline->op1)->opcode == ZEND_BOOL_NOT) { in zend_optimize_block()
860 switch (opline->opcode) { in zend_optimize_block()
863 opline->opcode = ZEND_BOOL_NOT; in zend_optimize_block()
867 opline->opcode = ZEND_BOOL; in zend_optimize_block()
871 opline->opcode = ZEND_JMPNZ; in zend_optimize_block()
875 opline->opcode = ZEND_JMPZ; in zend_optimize_block()
900 if(0 && (opline->opcode == ZEND_JMPZ_EX || in zend_optimize_block()
901 opline->opcode == ZEND_JMPNZ_EX) && in zend_optimize_block()
904 VAR_SOURCE(opline->op1)->opcode == ZEND_BOOL_NOT && in zend_optimize_block()
908 if(opline->opcode == ZEND_JMPZ_EX) { in zend_optimize_block()
909 opline->opcode = ZEND_JMPNZ; in zend_optimize_block()
911 opline->opcode = ZEND_JMPZ; in zend_optimize_block()
919 if ((opline->opcode == ZEND_BOOL || in zend_optimize_block()
920 opline->opcode == ZEND_BOOL_NOT || in zend_optimize_block()
921 opline->opcode == ZEND_JMPZ || in zend_optimize_block()
922 opline->opcode == ZEND_JMPZ_EX || in zend_optimize_block()
923 opline->opcode == ZEND_JMPNZ_EX || in zend_optimize_block()
924 opline->opcode == ZEND_JMPNZ || in zend_optimize_block()
925 opline->opcode == ZEND_JMPZNZ) && in zend_optimize_block()
931 (VAR_SOURCE(opline->op1)->opcode == ZEND_BOOL || in zend_optimize_block()
932 VAR_SOURCE(opline->op1)->opcode == ZEND_QM_ASSIGN)) { in zend_optimize_block()
939 } else if (last_op && opline->opcode == ZEND_ECHO && in zend_optimize_block()
940 last_op->opcode == ZEND_ECHO && in zend_optimize_block()
973 } else if ((opline->opcode == ZEND_CONCAT) && in zend_optimize_block()
977 (VAR_SOURCE(opline->op1)->opcode == ZEND_CONCAT || in zend_optimize_block()
978 VAR_SOURCE(opline->op1)->opcode == ZEND_FAST_CONCAT) && in zend_optimize_block()
1010 } else if ((opline->opcode == ZEND_ADD || in zend_optimize_block()
1011 opline->opcode == ZEND_SUB || in zend_optimize_block()
1012 opline->opcode == ZEND_MUL || in zend_optimize_block()
1013 opline->opcode == ZEND_DIV || in zend_optimize_block()
1014 opline->opcode == ZEND_MOD || in zend_optimize_block()
1015 opline->opcode == ZEND_SL || in zend_optimize_block()
1016 opline->opcode == ZEND_SR || in zend_optimize_block()
1017 opline->opcode == ZEND_CONCAT || in zend_optimize_block()
1018 opline->opcode == ZEND_FAST_CONCAT || in zend_optimize_block()
1019 opline->opcode == ZEND_IS_EQUAL || in zend_optimize_block()
1020 opline->opcode == ZEND_IS_NOT_EQUAL || in zend_optimize_block()
1021 opline->opcode == ZEND_IS_SMALLER || in zend_optimize_block()
1022 opline->opcode == ZEND_IS_SMALLER_OR_EQUAL || in zend_optimize_block()
1023 opline->opcode == ZEND_IS_IDENTICAL || in zend_optimize_block()
1024 opline->opcode == ZEND_IS_NOT_IDENTICAL || in zend_optimize_block()
1025 opline->opcode == ZEND_BOOL_XOR || in zend_optimize_block()
1026 opline->opcode == ZEND_BW_OR || in zend_optimize_block()
1027 opline->opcode == ZEND_BW_AND || in zend_optimize_block()
1028 opline->opcode == ZEND_BW_XOR) && in zend_optimize_block()
1032 binary_op_type binary_op = get_binary_op(opline->opcode); in zend_optimize_block()
1036 if ((opline->opcode == ZEND_DIV || opline->opcode == ZEND_MOD) && in zend_optimize_block()
1043 } else if ((opline->opcode == ZEND_SL || opline->opcode == ZEND_SR) && in zend_optimize_block()
1056 opline->opcode = ZEND_QM_ASSIGN; in zend_optimize_block()
1061 } else if ((opline->opcode == ZEND_BOOL || in zend_optimize_block()
1062 opline->opcode == ZEND_BOOL_NOT || in zend_optimize_block()
1063 opline->opcode == ZEND_BW_NOT) && ZEND_OP1_TYPE(opline) == IS_CONST) { in zend_optimize_block()
1065 unary_op_type unary_op = get_unary_op(opline->opcode); in zend_optimize_block()
1077 opline->opcode = ZEND_QM_ASSIGN; in zend_optimize_block()
1079 } else if ((opline->opcode == ZEND_RETURN || opline->opcode == ZEND_EXIT) && in zend_optimize_block()
1082 VAR_SOURCE(opline->op1)->opcode == ZEND_QM_ASSIGN) { in zend_optimize_block()
1088 } else if (opline->opcode == ZEND_CONCAT || opline->opcode == ZEND_FAST_CONCAT) { in zend_optimize_block()
1091 VAR_SOURCE(opline->op1)->opcode == ZEND_CAST && in zend_optimize_block()
1101 VAR_SOURCE(opline->op2)->opcode == ZEND_CAST && in zend_optimize_block()
1114 opline->opcode = ZEND_CAST; in zend_optimize_block()
1124 opline->opcode = ZEND_CAST; in zend_optimize_block()
1128 } else if (opline->opcode == ZEND_CONCAT && in zend_optimize_block()
1132 (VAR_SOURCE(opline->op1)->opcode == ZEND_FAST_CONCAT || in zend_optimize_block()
1133 VAR_SOURCE(opline->op1)->opcode == ZEND_ROPE_END || in zend_optimize_block()
1134 VAR_SOURCE(opline->op1)->opcode == ZEND_FETCH_CONSTANT))) && in zend_optimize_block()
1138 (VAR_SOURCE(opline->op2)->opcode == ZEND_FAST_CONCAT || in zend_optimize_block()
1139 VAR_SOURCE(opline->op2)->opcode == ZEND_ROPE_END || in zend_optimize_block()
1140 VAR_SOURCE(opline->op2)->opcode == ZEND_FETCH_CONSTANT)))) { in zend_optimize_block()
1141 opline->opcode = ZEND_FAST_CONCAT; in zend_optimize_block()
1143 } else if (opline->opcode == ZEND_QM_ASSIGN && in zend_optimize_block()
1148 } else if (opline->opcode == ZEND_BOOL && in zend_optimize_block()
1151 (VAR_SOURCE(opline->op1)->opcode == ZEND_IS_EQUAL || in zend_optimize_block()
1152 VAR_SOURCE(opline->op1)->opcode == ZEND_IS_NOT_EQUAL || in zend_optimize_block()
1153 VAR_SOURCE(opline->op1)->opcode == ZEND_IS_SMALLER || in zend_optimize_block()
1154 VAR_SOURCE(opline->op1)->opcode == ZEND_IS_SMALLER_OR_EQUAL || in zend_optimize_block()
1155 VAR_SOURCE(opline->op1)->opcode == ZEND_BOOL || in zend_optimize_block()
1156 VAR_SOURCE(opline->op1)->opcode == ZEND_IS_IDENTICAL || in zend_optimize_block()
1157 VAR_SOURCE(opline->op1)->opcode == ZEND_IS_NOT_IDENTICAL || in zend_optimize_block()
1158 VAR_SOURCE(opline->op1)->opcode == ZEND_ISSET_ISEMPTY_VAR || in zend_optimize_block()
1159 VAR_SOURCE(opline->op1)->opcode == ZEND_ISSET_ISEMPTY_DIM_OBJ) && in zend_optimize_block()
1171 if (opline->opcode != ZEND_NOP) { in zend_optimize_block()
1194 if ((opline - 1)->opcode == ZEND_JMP) { in assemble_code_blocks()
1256 if (opline->opcode == ZEND_OP_DATA) { in assemble_code_blocks()
1281 if (opline->opcode == ZEND_DECLARE_INHERITED_CLASS_DELAYED) { in assemble_code_blocks()
1299 switch (last_op->opcode) { in zend_jmp_optimization()
1323 if (((target->opcode == ZEND_JMP && in zend_jmp_optimization()
1325 target->opcode == ZEND_JMPZNZ) && in zend_jmp_optimization()
1350 } else if (target->opcode == ZEND_RETURN || in zend_jmp_optimization()
1351 target->opcode == ZEND_RETURN_BY_REF || in zend_jmp_optimization()
1352 target->opcode == ZEND_FAST_RET || in zend_jmp_optimization()
1353 target->opcode == ZEND_EXIT) { in zend_jmp_optimization()
1368 target->opcode != ZEND_FREE) { in zend_jmp_optimization()
1426 if (last_op->opcode == ZEND_JMPZ) { in zend_jmp_optimization()
1433 last_op->opcode = ZEND_JMP; in zend_jmp_optimization()
1456 src->opcode != ZEND_FETCH_R && in zend_jmp_optimization()
1457 src->opcode != ZEND_FETCH_DIM_R && in zend_jmp_optimization()
1458 src->opcode != ZEND_FETCH_OBJ_R) { in zend_jmp_optimization()
1468 last_op->opcode = ZEND_FREE; in zend_jmp_optimization()
1488 while (target < target_end && target->opcode == ZEND_NOP) { in zend_jmp_optimization()
1496 } else if (target->opcode == INV_COND(last_op->opcode) && in zend_jmp_optimization()
1507 } else if (target->opcode == INV_COND_EX(last_op->opcode) && in zend_jmp_optimization()
1514 last_op->opcode += 3; in zend_jmp_optimization()
1520 target->opcode == last_op->opcode && in zend_jmp_optimization()
1530 target->opcode == ZEND_JMP && in zend_jmp_optimization()
1538 target->opcode == ZEND_JMPZNZ && in zend_jmp_optimization()
1545 if (last_op->opcode == ZEND_JMPZ) { in zend_jmp_optimization()
1555 (last_op->opcode == ZEND_JMPZ || last_op->opcode == ZEND_JMPNZ)) { in zend_jmp_optimization()
1562 while (target < target_end && target->opcode == ZEND_NOP) { in zend_jmp_optimization()
1576 if (target->opcode == ZEND_JMP && in zend_jmp_optimization()
1580 if (last_op->opcode == ZEND_JMPZ) { in zend_jmp_optimization()
1589 last_op->opcode = ZEND_JMPZNZ; in zend_jmp_optimization()
1600 if (last_op->opcode == ZEND_JMPZ_EX) { in zend_jmp_optimization()
1607 last_op->opcode = ZEND_QM_ASSIGN; in zend_jmp_optimization()
1632 while (target < target_end && target->opcode == ZEND_NOP) { in zend_jmp_optimization()
1640 target->opcode == last_op->opcode-3 && in zend_jmp_optimization()
1649 target->opcode == INV_EX_COND(last_op->opcode) && in zend_jmp_optimization()
1658 target->opcode == INV_EX_COND_EX(last_op->opcode) && in zend_jmp_optimization()
1668 target->opcode == last_op->opcode && in zend_jmp_optimization()
1678 target->opcode == ZEND_JMP && in zend_jmp_optimization()
1686 target->opcode == ZEND_JMPZNZ && in zend_jmp_optimization()
1692 if (last_op->opcode == ZEND_JMPZ_EX) { in zend_jmp_optimization()
1716 last_op->opcode = ZEND_JMP; in zend_jmp_optimization()
1729 last_op->opcode = ZEND_JMP; in zend_jmp_optimization()
1742 last_op->opcode = ZEND_JMP; in zend_jmp_optimization()
1752 last_op->opcode = ZEND_JMPNZ; in zend_jmp_optimization()
1760 last_op->opcode = ZEND_JMPZ; in zend_jmp_optimization()
1766 if (last_op->opcode == ZEND_JMPZNZ && block->op2_to) { in zend_jmp_optimization()
1776 while (target < target_end && target->opcode == ZEND_NOP) { in zend_jmp_optimization()
1784 (target->opcode == ZEND_JMPZ || target->opcode == ZEND_JMPZNZ) && in zend_jmp_optimization()
1793 } else if (target->opcode == ZEND_JMPNZ && in zend_jmp_optimization()
1804 target->opcode == ZEND_JMP && in zend_jmp_optimization()
1863 if (opline->opcode == ZEND_FE_FETCH_R || opline->opcode == ZEND_FE_FETCH_RW) { in zend_t_usage()
1873 opline->opcode == ZEND_ADD_ARRAY_ELEMENT) { in zend_t_usage()
1906 switch (opline->opcode) { in zend_t_usage()
1937 opline->opcode = ZEND_FREE; in zend_t_usage()
1947 opline->opcode -= 3; in zend_t_usage()
1953 if (opline->opcode == ZEND_ADD_ARRAY_ELEMENT) { in zend_t_usage()