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()
156 opline->opcode != ZEND_FREE) { in zend_optimize_block()
159 src->opcode == ZEND_QM_ASSIGN && in zend_optimize_block()
163 if (opline->opcode == ZEND_VERIFY_RETURN_TYPE) { in zend_optimize_block()
168 } else if (opline->opcode != ZEND_FETCH_LIST && opline->opcode != ZEND_CASE) { in zend_optimize_block()
185 src->opcode == ZEND_QM_ASSIGN && in zend_optimize_block()
201 if (opline->opcode == ZEND_ECHO) { in zend_optimize_block()
205 src->opcode == ZEND_CAST && in zend_optimize_block()
215 if (last_op && last_op->opcode == ZEND_ECHO && in zend_optimize_block()
256 switch (opline->opcode) { in zend_optimize_block()
262 (src->opcode == ZEND_BOOL || src->opcode == ZEND_BOOL_NOT)) { in zend_optimize_block()
272 src->opcode != ZEND_FETCH_R && in zend_optimize_block()
273 src->opcode != ZEND_FETCH_STATIC_PROP_R && in zend_optimize_block()
274 src->opcode != ZEND_FETCH_DIM_R && in zend_optimize_block()
275 src->opcode != ZEND_FETCH_OBJ_R && in zend_optimize_block()
276 src->opcode != ZEND_NEW) { in zend_optimize_block()
296 VAR_SOURCE(opline->op1) && VAR_SOURCE(opline->op1)->opcode == ZEND_DO_CF_FCALL && in zend_optimize_block()
300 if(sv >= block->start_opline && sv->opcode == ZEND_SEND_VAL && in zend_optimize_block()
388 opline->opcode = in zend_optimize_block()
389 ((opline->opcode != ZEND_IS_NOT_EQUAL) == ((Z_TYPE(ZEND_OP1_LITERAL(opline))) == IS_TRUE)) ? in zend_optimize_block()
400 opline->opcode = in zend_optimize_block()
401 ((opline->opcode != ZEND_IS_NOT_EQUAL) == ((Z_TYPE(ZEND_OP2_LITERAL(opline))) == IS_TRUE)) ? in zend_optimize_block()
418 switch (src->opcode) { in zend_optimize_block()
423 opline->opcode = (opline->opcode == ZEND_BOOL) ? ZEND_BOOL_NOT : ZEND_BOOL; in zend_optimize_block()
433 if (opline->opcode == ZEND_BOOL_NOT) { in zend_optimize_block()
434 src->opcode = ZEND_IS_NOT_EQUAL; in zend_optimize_block()
441 if (opline->opcode == ZEND_BOOL_NOT) { in zend_optimize_block()
442 src->opcode = ZEND_IS_EQUAL; in zend_optimize_block()
449 if (opline->opcode == ZEND_BOOL_NOT) { in zend_optimize_block()
450 src->opcode = ZEND_IS_NOT_IDENTICAL; in zend_optimize_block()
457 if (opline->opcode == ZEND_BOOL_NOT) { in zend_optimize_block()
458 src->opcode = ZEND_IS_IDENTICAL; in zend_optimize_block()
465 if (opline->opcode == ZEND_BOOL_NOT) { in zend_optimize_block()
469 src->opcode = ZEND_IS_SMALLER_OR_EQUAL; in zend_optimize_block()
482 if (opline->opcode == ZEND_BOOL_NOT) { in zend_optimize_block()
486 src->opcode = ZEND_IS_SMALLER; in zend_optimize_block()
505 if (opline->opcode == ZEND_BOOL_NOT) { in zend_optimize_block()
529 if (src->opcode == ZEND_BOOL_NOT && in zend_optimize_block()
530 opline->opcode != ZEND_JMPZ_EX && in zend_optimize_block()
531 opline->opcode != ZEND_JMPNZ_EX) { in zend_optimize_block()
534 if (opline->opcode == ZEND_JMPZ) { in zend_optimize_block()
536 opline->opcode = ZEND_JMPNZ; in zend_optimize_block()
537 } else if (opline->opcode == ZEND_JMPNZ) { in zend_optimize_block()
539 opline->opcode = ZEND_JMPZ; in zend_optimize_block()
541 } else if (opline->opcode == ZEND_JMPZ_EX) { in zend_optimize_block()
543 opline->opcode = ZEND_JMPNZ_EX; in zend_optimize_block()
544 } else if (opline->opcode == ZEND_JMPNZ_EX) { in zend_optimize_block()
546 opline->opcode = ZEND_JMPZ; in zend_optimize_block()
552 ZEND_ASSERT(opline->opcode == ZEND_JMPZNZ); in zend_optimize_block()
559 } else if (src->opcode == ZEND_BOOL || in zend_optimize_block()
560 src->opcode == ZEND_QM_ASSIGN) { in zend_optimize_block()
582 (src->opcode == ZEND_CONCAT || in zend_optimize_block()
583 src->opcode == ZEND_FAST_CONCAT) && in zend_optimize_block()
619 src->opcode == ZEND_CAST && in zend_optimize_block()
630 src->opcode == ZEND_CAST && in zend_optimize_block()
644 opline->opcode = ZEND_CAST; in zend_optimize_block()
654 opline->opcode = ZEND_CAST; in zend_optimize_block()
658 } else if (opline->opcode == ZEND_CONCAT && in zend_optimize_block()
662 (VAR_SOURCE(opline->op1)->opcode == ZEND_FAST_CONCAT || in zend_optimize_block()
663 VAR_SOURCE(opline->op1)->opcode == ZEND_ROPE_END || in zend_optimize_block()
664 VAR_SOURCE(opline->op1)->opcode == ZEND_FETCH_CONSTANT || in zend_optimize_block()
665 VAR_SOURCE(opline->op1)->opcode == ZEND_FETCH_CLASS_CONSTANT))) && in zend_optimize_block()
669 (VAR_SOURCE(opline->op2)->opcode == ZEND_FAST_CONCAT || in zend_optimize_block()
670 VAR_SOURCE(opline->op2)->opcode == ZEND_ROPE_END || in zend_optimize_block()
671 VAR_SOURCE(opline->op2)->opcode == ZEND_FETCH_CONSTANT || in zend_optimize_block()
672 VAR_SOURCE(opline->op2)->opcode == ZEND_FETCH_CLASS_CONSTANT)))) { in zend_optimize_block()
673 opline->opcode = ZEND_FAST_CONCAT; in zend_optimize_block()
700 binary_op = get_binary_op(opline->opcode); in zend_optimize_block()
701 if ((opline->opcode == ZEND_DIV || opline->opcode == ZEND_MOD) && in zend_optimize_block()
706 } else if ((opline->opcode == ZEND_SL || opline->opcode == ZEND_SR) && in zend_optimize_block()
711 …} else if (zend_binary_op_produces_numeric_string_error(opline->opcode, &ZEND_OP1_LITERAL(opline),… in zend_optimize_block()
721 opline->opcode = ZEND_QM_ASSIGN; in zend_optimize_block()
736 unary_op = get_unary_op(opline->opcode); in zend_optimize_block()
746 opline->opcode = ZEND_QM_ASSIGN; in zend_optimize_block()
755 if (src && src->opcode == ZEND_QM_ASSIGN) { in zend_optimize_block()
814 if (opline->opcode == ZEND_JMP) { in assemble_code_blocks()
825 } else if (b->len == 1 && opline->opcode == ZEND_NOP) { in assemble_code_blocks()
867 switch (opline->opcode) { in assemble_code_blocks()
940 if (opline->opcode == ZEND_FAST_RET && in assemble_code_blocks()
990 if ((opline->opcode == ZEND_FREE || opline->opcode == ZEND_FE_FREE) && in assemble_code_blocks()
1013 if (opline->opcode == ZEND_DECLARE_INHERITED_CLASS_DELAYED) { in assemble_code_blocks()
1042 switch (last_op->opcode) { in zend_jmp_optimization()
1061 if (target->opcode == ZEND_JMP && in zend_jmp_optimization()
1069 } else if (target->opcode == ZEND_JMPZNZ && in zend_jmp_optimization()
1083 } else if ((target->opcode == ZEND_RETURN || in zend_jmp_optimization()
1084 target->opcode == ZEND_RETURN_BY_REF || in zend_jmp_optimization()
1085 target->opcode == ZEND_EXIT) && in zend_jmp_optimization()
1101 target->opcode != ZEND_FREE) { in zend_jmp_optimization()
1159 if (last_op->opcode == ZEND_JMPZ) { in zend_jmp_optimization()
1166 last_op->opcode = ZEND_JMP; in zend_jmp_optimization()
1183 last_op->opcode = ZEND_CHECK_VAR; in zend_jmp_optimization()
1186 last_op->opcode = ZEND_FREE; in zend_jmp_optimization()
1205 while (target < target_end && target->opcode == ZEND_NOP) { in zend_jmp_optimization()
1213 } else if (target->opcode == INV_COND(last_op->opcode) && in zend_jmp_optimization()
1223 } else if (target->opcode == INV_COND_EX(last_op->opcode) && in zend_jmp_optimization()
1229 last_op->opcode += 3; in zend_jmp_optimization()
1234 } else if (target->opcode == last_op->opcode && in zend_jmp_optimization()
1243 } else if (target->opcode == ZEND_JMP && in zend_jmp_optimization()
1249 } else if (target->opcode == ZEND_JMPZNZ && in zend_jmp_optimization()
1256 if (last_op->opcode == ZEND_JMPZ) { in zend_jmp_optimization()
1265 if (last_op->opcode == ZEND_JMPZ || last_op->opcode == ZEND_JMPNZ) { in zend_jmp_optimization()
1274 while (target < target_end && target->opcode == ZEND_NOP) { in zend_jmp_optimization()
1288 if (target->opcode == ZEND_JMP && in zend_jmp_optimization()
1291 if (last_op->opcode == ZEND_JMPZ) { in zend_jmp_optimization()
1299 last_op->opcode = ZEND_JMPZNZ; in zend_jmp_optimization()
1310 if (last_op->opcode == ZEND_JMPZ_EX) { in zend_jmp_optimization()
1317 last_op->opcode = ZEND_QM_ASSIGN; in zend_jmp_optimization()
1341 while (target < target_end && target->opcode == ZEND_NOP) { in zend_jmp_optimization()
1348 } else if (target->opcode == last_op->opcode-3 && in zend_jmp_optimization()
1356 } else if (target->opcode == INV_EX_COND(last_op->opcode) && in zend_jmp_optimization()
1364 } else if (target->opcode == INV_EX_COND_EX(last_op->opcode) && in zend_jmp_optimization()
1373 } else if (target->opcode == last_op->opcode && in zend_jmp_optimization()
1382 } else if (target->opcode == ZEND_JMP && in zend_jmp_optimization()
1388 } else if (target->opcode == ZEND_JMPZNZ && in zend_jmp_optimization()
1394 if (last_op->opcode == ZEND_JMPZ_EX) { in zend_jmp_optimization()
1416 last_op->opcode = ZEND_JMP; in zend_jmp_optimization()
1424 last_op->opcode = ZEND_JMP; in zend_jmp_optimization()
1435 last_op->opcode = ZEND_JMP; in zend_jmp_optimization()
1443 last_op->opcode = ZEND_JMPNZ; in zend_jmp_optimization()
1450 last_op->opcode = ZEND_JMPZ; in zend_jmp_optimization()
1454 if (last_op->opcode == ZEND_JMPZNZ) { in zend_jmp_optimization()
1464 while (target < target_end && target->opcode == ZEND_NOP) { in zend_jmp_optimization()
1471 } else if ((target->opcode == ZEND_JMPZ || target->opcode == ZEND_JMPZNZ) && in zend_jmp_optimization()
1480 } else if (target->opcode == ZEND_JMPNZ && in zend_jmp_optimization()
1489 } else if (target->opcode == ZEND_JMP && in zend_jmp_optimization()
1552 if (opline->opcode == ZEND_FE_FETCH_R || in zend_t_usage()
1553 opline->opcode == ZEND_FE_FETCH_RW) { in zend_t_usage()
1571 switch (opline->opcode) { in zend_t_usage()
1631 switch (opline->opcode) { in zend_t_usage()
1660 switch (opline->opcode) { in zend_t_usage()
1663 opline->opcode -= 2; in zend_t_usage()
1670 opline->opcode = ZEND_CHECK_VAR; in zend_t_usage()
1673 opline->opcode = ZEND_FREE; in zend_t_usage()
1684 opline->opcode -= 3; in zend_t_usage()
1693 switch (opline->opcode) { in zend_t_usage()
1705 switch (opline->opcode) { in zend_t_usage()
1744 if (prev->len != 0 && last_op->opcode == ZEND_JMP) { in zend_merge_blocks()