Lines Matching refs:opcode

93 	while (b->len > 0 && opcodes[b->start].opcode == ZEND_NOP) {  in strip_leading_nops()
96 && (op_array->opcodes[b->start + 1].opcode == ZEND_JMPZ in strip_leading_nops()
97 || op_array->opcodes[b->start + 1].opcode == ZEND_JMPNZ) in strip_leading_nops()
120 if (op_array->opcodes[i].opcode != ZEND_NOP) { in strip_nops()
127 && (op_array->opcodes[i+1].opcode == ZEND_JMPZ in strip_nops()
128 || op_array->opcodes[i+1].opcode == ZEND_JMPNZ) in strip_nops()
146 if ((opline->opcode == ZEND_SWITCH_LONG && Z_TYPE_P(val) != IS_LONG) in get_const_switch_target()
147 || (opline->opcode == ZEND_SWITCH_STRING && Z_TYPE_P(val) != IS_STRING)) { in get_const_switch_target()
177 opline->opcode != ZEND_FREE) { in zend_optimize_block()
180 src->opcode == ZEND_QM_ASSIGN && in zend_optimize_block()
184 if (opline->opcode == ZEND_VERIFY_RETURN_TYPE) { in zend_optimize_block()
198 switch (opline->opcode) { in zend_optimize_block()
206 opline->opcode = ZEND_JMP; in zend_optimize_block()
214 opline->opcode = ZEND_JMP; in zend_optimize_block()
239 opline->opcode = ZEND_JMP; in zend_optimize_block()
255 src->opcode == ZEND_QM_ASSIGN && in zend_optimize_block()
273 if (opline->opcode == ZEND_ECHO) { in zend_optimize_block()
277 src->opcode == ZEND_CAST && in zend_optimize_block()
288 if (last_op && last_op->opcode == ZEND_ECHO && in zend_optimize_block()
329 switch (opline->opcode) { in zend_optimize_block()
335 (src->opcode == ZEND_BOOL || src->opcode == ZEND_BOOL_NOT)) { in zend_optimize_block()
345 src->opcode != ZEND_FETCH_R && in zend_optimize_block()
346 src->opcode != ZEND_FETCH_STATIC_PROP_R && in zend_optimize_block()
347 src->opcode != ZEND_FETCH_DIM_R && in zend_optimize_block()
348 src->opcode != ZEND_FETCH_OBJ_R && in zend_optimize_block()
349 src->opcode != ZEND_NEW) { in zend_optimize_block()
368 VAR_SOURCE(opline->op1) && VAR_SOURCE(opline->op1)->opcode == ZEND_DO_CF_FCALL && in zend_optimize_block()
372 if(sv >= block->start_opline && sv->opcode == ZEND_SEND_VAL && in zend_optimize_block()
431 opline->opcode = ZEND_JMP; in zend_optimize_block()
466 opline->opcode = in zend_optimize_block()
467 ((opline->opcode != ZEND_IS_NOT_EQUAL) == ((Z_TYPE(ZEND_OP1_LITERAL(opline))) == IS_TRUE)) ? in zend_optimize_block()
478 opline->opcode = in zend_optimize_block()
479 ((opline->opcode != ZEND_IS_NOT_EQUAL) == ((Z_TYPE(ZEND_OP2_LITERAL(opline))) == IS_TRUE)) ? in zend_optimize_block()
496 switch (src->opcode) { in zend_optimize_block()
501 opline->opcode = (opline->opcode == ZEND_BOOL) ? ZEND_BOOL_NOT : ZEND_BOOL; in zend_optimize_block()
511 if (opline->opcode == ZEND_BOOL_NOT) { in zend_optimize_block()
512 src->opcode = ZEND_IS_NOT_EQUAL; in zend_optimize_block()
519 if (opline->opcode == ZEND_BOOL_NOT) { in zend_optimize_block()
520 src->opcode = ZEND_IS_EQUAL; in zend_optimize_block()
527 if (opline->opcode == ZEND_BOOL_NOT) { in zend_optimize_block()
528 src->opcode = ZEND_IS_NOT_IDENTICAL; in zend_optimize_block()
535 if (opline->opcode == ZEND_BOOL_NOT) { in zend_optimize_block()
536 src->opcode = ZEND_IS_IDENTICAL; in zend_optimize_block()
543 if (opline->opcode == ZEND_BOOL_NOT) { in zend_optimize_block()
547 src->opcode = ZEND_IS_SMALLER_OR_EQUAL; in zend_optimize_block()
560 if (opline->opcode == ZEND_BOOL_NOT) { in zend_optimize_block()
564 src->opcode = ZEND_IS_SMALLER; in zend_optimize_block()
584 if (opline->opcode == ZEND_BOOL_NOT) { in zend_optimize_block()
608 if (src->opcode == ZEND_BOOL_NOT && in zend_optimize_block()
609 opline->opcode != ZEND_JMPZ_EX && in zend_optimize_block()
610 opline->opcode != ZEND_JMPNZ_EX) { in zend_optimize_block()
613 if (opline->opcode == ZEND_JMPZ) { in zend_optimize_block()
615 opline->opcode = ZEND_JMPNZ; in zend_optimize_block()
616 } else if (opline->opcode == ZEND_JMPNZ) { in zend_optimize_block()
618 opline->opcode = ZEND_JMPZ; in zend_optimize_block()
620 } else if (opline->opcode == ZEND_JMPZ_EX) { in zend_optimize_block()
622 opline->opcode = ZEND_JMPNZ_EX; in zend_optimize_block()
623 } else if (opline->opcode == ZEND_JMPNZ_EX) { in zend_optimize_block()
625 opline->opcode = ZEND_JMPZ; in zend_optimize_block()
631 ZEND_ASSERT(opline->opcode == ZEND_JMPZNZ); in zend_optimize_block()
638 } else if (src->opcode == ZEND_BOOL || in zend_optimize_block()
639 src->opcode == ZEND_QM_ASSIGN) { in zend_optimize_block()
661 (src->opcode == ZEND_CONCAT || in zend_optimize_block()
662 src->opcode == ZEND_FAST_CONCAT) && in zend_optimize_block()
698 src->opcode == ZEND_CAST && in zend_optimize_block()
710 src->opcode == ZEND_CAST && in zend_optimize_block()
725 opline->opcode = ZEND_CAST; in zend_optimize_block()
735 opline->opcode = ZEND_CAST; in zend_optimize_block()
739 } else if (opline->opcode == ZEND_CONCAT && in zend_optimize_block()
743 (VAR_SOURCE(opline->op1)->opcode == ZEND_FAST_CONCAT || in zend_optimize_block()
744 VAR_SOURCE(opline->op1)->opcode == ZEND_ROPE_END || in zend_optimize_block()
745 VAR_SOURCE(opline->op1)->opcode == ZEND_FETCH_CONSTANT || in zend_optimize_block()
746 VAR_SOURCE(opline->op1)->opcode == ZEND_FETCH_CLASS_CONSTANT))) && in zend_optimize_block()
750 (VAR_SOURCE(opline->op2)->opcode == ZEND_FAST_CONCAT || in zend_optimize_block()
751 VAR_SOURCE(opline->op2)->opcode == ZEND_ROPE_END || in zend_optimize_block()
752 VAR_SOURCE(opline->op2)->opcode == ZEND_FETCH_CONSTANT || in zend_optimize_block()
753 VAR_SOURCE(opline->op2)->opcode == ZEND_FETCH_CLASS_CONSTANT)))) { in zend_optimize_block()
754 opline->opcode = ZEND_FAST_CONCAT; in zend_optimize_block()
779 …if (zend_optimizer_eval_binary_op(&result, opline->opcode, &ZEND_OP1_LITERAL(opline), &ZEND_OP2_LI… in zend_optimize_block()
782 opline->opcode = ZEND_QM_ASSIGN; in zend_optimize_block()
795 … if (zend_optimizer_eval_unary_op(&result, opline->opcode, &ZEND_OP1_LITERAL(opline)) == SUCCESS) { in zend_optimize_block()
797 opline->opcode = ZEND_QM_ASSIGN; in zend_optimize_block()
810 opline->opcode = ZEND_QM_ASSIGN; in zend_optimize_block()
823 opline->opcode = ZEND_QM_ASSIGN; in zend_optimize_block()
833 if (src && src->opcode == ZEND_QM_ASSIGN) { in zend_optimize_block()
892 if (opline->opcode == ZEND_JMP) { in assemble_code_blocks()
903 } else if (b->len == 1 && opline->opcode == ZEND_NOP) { in assemble_code_blocks()
945 switch (opline->opcode) { in assemble_code_blocks()
1032 if (opline->opcode == ZEND_FAST_RET && in assemble_code_blocks()
1082 if ((opline->opcode == ZEND_FREE || opline->opcode == ZEND_FE_FREE) && in assemble_code_blocks()
1105 if (opline->opcode == ZEND_DECLARE_INHERITED_CLASS_DELAYED) { in assemble_code_blocks()
1134 switch (last_op->opcode) { in zend_jmp_optimization()
1153 if (target->opcode == ZEND_JMP && in zend_jmp_optimization()
1161 } else if (target->opcode == ZEND_JMPZNZ && in zend_jmp_optimization()
1176 } else if ((target->opcode == ZEND_RETURN || in zend_jmp_optimization()
1177 target->opcode == ZEND_RETURN_BY_REF || in zend_jmp_optimization()
1178 target->opcode == ZEND_EXIT) && in zend_jmp_optimization()
1194 target->opcode != ZEND_FREE) { in zend_jmp_optimization()
1252 if (last_op->opcode == ZEND_JMPZ) { in zend_jmp_optimization()
1259 last_op->opcode = ZEND_JMP; in zend_jmp_optimization()
1276 last_op->opcode = ZEND_CHECK_VAR; in zend_jmp_optimization()
1279 last_op->opcode = ZEND_FREE; in zend_jmp_optimization()
1298 while (target < target_end && target->opcode == ZEND_NOP) { in zend_jmp_optimization()
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()
1322 last_op->opcode += 3; in zend_jmp_optimization()
1327 } else if (target->opcode == last_op->opcode && in zend_jmp_optimization()
1336 } else if (target->opcode == ZEND_JMP && in zend_jmp_optimization()
1342 } else if (target->opcode == ZEND_JMPZNZ && in zend_jmp_optimization()
1349 if (last_op->opcode == ZEND_JMPZ) { in zend_jmp_optimization()
1358 if (last_op->opcode == ZEND_JMPZ || last_op->opcode == ZEND_JMPNZ) { in zend_jmp_optimization()
1367 while (target < target_end && target->opcode == ZEND_NOP) { in zend_jmp_optimization()
1381 if (target->opcode == ZEND_JMP && in zend_jmp_optimization()
1384 if (last_op->opcode == ZEND_JMPZ) { in zend_jmp_optimization()
1392 last_op->opcode = ZEND_JMPZNZ; in zend_jmp_optimization()
1403 if (last_op->opcode == ZEND_JMPZ_EX) { in zend_jmp_optimization()
1410 last_op->opcode = ZEND_QM_ASSIGN; in zend_jmp_optimization()
1434 while (target < target_end && target->opcode == ZEND_NOP) { 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()
1466 } else if (target->opcode == last_op->opcode && in zend_jmp_optimization()
1475 } else if (target->opcode == ZEND_JMP && in zend_jmp_optimization()
1481 } else if (target->opcode == ZEND_JMPZNZ && in zend_jmp_optimization()
1487 if (last_op->opcode == ZEND_JMPZ_EX) { in zend_jmp_optimization()
1509 last_op->opcode = ZEND_JMP; in zend_jmp_optimization()
1517 last_op->opcode = ZEND_JMP; in zend_jmp_optimization()
1528 last_op->opcode = ZEND_JMP; in zend_jmp_optimization()
1536 last_op->opcode = ZEND_JMPNZ; in zend_jmp_optimization()
1543 last_op->opcode = ZEND_JMPZ; in zend_jmp_optimization()
1547 if (last_op->opcode == ZEND_JMPZNZ) { in zend_jmp_optimization()
1557 while (target < target_end && target->opcode == ZEND_NOP) { in zend_jmp_optimization()
1564 } else if ((target->opcode == ZEND_JMPZ || target->opcode == ZEND_JMPZNZ) && in zend_jmp_optimization()
1573 } else if (target->opcode == ZEND_JMPNZ && in zend_jmp_optimization()
1582 } else if (target->opcode == ZEND_JMP && in zend_jmp_optimization()
1645 if (opline->opcode == ZEND_FE_FETCH_R || in zend_t_usage()
1646 opline->opcode == ZEND_FE_FETCH_RW) { in zend_t_usage()
1664 switch (opline->opcode) { in zend_t_usage()
1724 switch (opline->opcode) { in zend_t_usage()
1753 switch (opline->opcode) { in zend_t_usage()
1756 opline->opcode -= 2; in zend_t_usage()
1763 opline->opcode = ZEND_CHECK_VAR; in zend_t_usage()
1766 opline->opcode = ZEND_FREE; in zend_t_usage()
1777 opline->opcode -= 3; in zend_t_usage()
1786 switch (opline->opcode) { in zend_t_usage()
1798 switch (opline->opcode) { in zend_t_usage()
1836 if (prev->len != 0 && last_op->opcode == ZEND_JMP) { in zend_merge_blocks()