Lines Matching refs:opcodes
151 ZEND_ASSERT(op_array->opcodes[b->start].opcode == ZEND_FREE in zend_ssa_remove_nops()
152 || op_array->opcodes[b->start].opcode == ZEND_FE_FREE); in zend_ssa_remove_nops()
160 if (EXPECTED(op_array->opcodes[i].opcode != ZEND_NOP)) { in zend_ssa_remove_nops()
162 op_array->opcodes[target] = op_array->opcodes[i]; in zend_ssa_remove_nops()
176 opline = op_array->opcodes + old_end - 1; in zend_ssa_remove_nops()
181 new_opline = op_array->opcodes + target - 1; in zend_ssa_remove_nops()
196 MAKE_NOP(op_array->opcodes + i); in zend_ssa_remove_nops()
223 zend_op *opline = op_array->opcodes + b->start + b->len - 1; in zend_ssa_remove_nops()
243 shiftlist[call_info->caller_init_opline - op_array->opcodes]; in zend_ssa_remove_nops()
246 shiftlist[call_info->caller_call_opline - op_array->opcodes]; in zend_ssa_remove_nops()
474 uint32_t op_num = send_needly - op_array->opcodes; in zend_dfa_optimize_calls()
486 op_num = call_info->caller_call_opline - op_array->opcodes; in zend_dfa_optimize_calls()
510 op_num = call_info->caller_call_opline - op_array->opcodes; in zend_dfa_optimize_calls()
522 && (op_array->opcodes[use].opcode == ZEND_JMPZ in zend_dfa_optimize_calls()
523 || op_array->opcodes[use].opcode == ZEND_JMPNZ)) { in zend_dfa_optimize_calls()
525 op_array->opcodes[use].op1_type = IS_TMP_VAR; in zend_dfa_optimize_calls()
575 zend_op *opline = &op_array->opcodes[block->start + block->len - 1]; in compress_block()
651 opline = op_array->opcodes + src->start + src->len - 1; in zend_ssa_replace_control_link()
655 ZEND_ASSERT(ZEND_OP1_JMP_ADDR(opline) == op_array->opcodes + old->start); in zend_ssa_replace_control_link()
656 ZEND_SET_OP_JMP_ADDR(opline, opline->op1, op_array->opcodes + dst->start); in zend_ssa_replace_control_link()
670 if (ZEND_OP2_JMP_ADDR(opline) == op_array->opcodes + old->start) { in zend_ssa_replace_control_link()
671 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, op_array->opcodes + dst->start); in zend_ssa_replace_control_link()
676 if (ZEND_OP2_JMP_ADDR(opline) == op_array->opcodes + old->start) { in zend_ssa_replace_control_link()
677 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, op_array->opcodes + dst->start); in zend_ssa_replace_control_link()
721 if ((op_array->opcodes[pred_block->start + pred_block->len - 1].opcode == ZEND_FE_FETCH_R in zend_ssa_unlink_block()
722 || op_array->opcodes[pred_block->start + pred_block->len - 1].opcode == ZEND_FE_FETCH_RW) in zend_ssa_unlink_block()
723 && op_array->opcodes[pred_block->start + pred_block->len - 1].op2_type == IS_CV) { in zend_ssa_unlink_block()
782 opline = op_array->opcodes + op_num; in zend_dfa_optimize_jmps()
987 ZEND_SET_OP_JMP_ADDR(opline, opline->op1, op_array->opcodes + target); in zend_dfa_optimize_jmps()
1035 && op_array->opcodes[use].opcode != ZEND_FREE in zend_dfa_try_to_replace_result()
1036 && op_array->opcodes[use].opcode != ZEND_SEND_VAL in zend_dfa_try_to_replace_result()
1037 && op_array->opcodes[use].opcode != ZEND_SEND_VAL_EX in zend_dfa_try_to_replace_result()
1038 && op_array->opcodes[use].opcode != ZEND_VERIFY_RETURN_TYPE in zend_dfa_try_to_replace_result()
1039 && op_array->opcodes[use].opcode != ZEND_YIELD) { in zend_dfa_try_to_replace_result()
1042 const zend_op *opline = &op_array->opcodes[use]; in zend_dfa_try_to_replace_result()
1059 op_array->opcodes[def].result_type = IS_UNUSED; in zend_dfa_try_to_replace_result()
1060 op_array->opcodes[def].result.var = 0; in zend_dfa_try_to_replace_result()
1067 op_array->opcodes[use].op1_type = IS_CV; in zend_dfa_try_to_replace_result()
1068 op_array->opcodes[use].op1.var = cv; in zend_dfa_try_to_replace_result()
1074 op_array->opcodes[use].op2_type = IS_CV; in zend_dfa_try_to_replace_result()
1075 op_array->opcodes[use].op2.var = cv; in zend_dfa_try_to_replace_result()
1081 op_array->opcodes[use].result_type = IS_CV; in zend_dfa_try_to_replace_result()
1082 op_array->opcodes[use].result.var = cv; in zend_dfa_try_to_replace_result()
1159 opline = op_array->opcodes + op_1; in zend_dfa_optimize_op_array()
1374 op_array, ssa, &op_array->opcodes[ssa->vars[src_var].definition], in zend_dfa_optimize_op_array()
1405 op_array->opcodes[op_2].result_type = opline->result_type; in zend_dfa_optimize_op_array()
1406 op_array->opcodes[op_2].result.var = opline->result.var; in zend_dfa_optimize_op_array()
1411 if (op_array->opcodes[op_2].opcode == ZEND_SUB in zend_dfa_optimize_op_array()
1412 && op_array->opcodes[op_2].op1_type == op_array->opcodes[op_2].result_type in zend_dfa_optimize_op_array()
1413 && op_array->opcodes[op_2].op1.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1414 && op_array->opcodes[op_2].op2_type == IS_CONST in zend_dfa_optimize_op_array()
1415 && Z_TYPE_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == IS_LONG in zend_dfa_optimize_op_array()
1416 && Z_LVAL_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == 1 in zend_dfa_optimize_op_array()
1420 op_array->opcodes[op_2].opcode = ZEND_PRE_DEC; in zend_dfa_optimize_op_array()
1421 SET_UNUSED(op_array->opcodes[op_2].op2); in zend_dfa_optimize_op_array()
1422 SET_UNUSED(op_array->opcodes[op_2].result); in zend_dfa_optimize_op_array()
1427 } else if (op_array->opcodes[op_2].opcode == ZEND_ADD in zend_dfa_optimize_op_array()
1428 && op_array->opcodes[op_2].op1_type == op_array->opcodes[op_2].result_type in zend_dfa_optimize_op_array()
1429 && op_array->opcodes[op_2].op1.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1430 && op_array->opcodes[op_2].op2_type == IS_CONST in zend_dfa_optimize_op_array()
1431 && Z_TYPE_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == IS_LONG in zend_dfa_optimize_op_array()
1432 && Z_LVAL_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == 1 in zend_dfa_optimize_op_array()
1436 op_array->opcodes[op_2].opcode = ZEND_PRE_INC; in zend_dfa_optimize_op_array()
1437 SET_UNUSED(op_array->opcodes[op_2].op2); in zend_dfa_optimize_op_array()
1438 SET_UNUSED(op_array->opcodes[op_2].result); in zend_dfa_optimize_op_array()
1443 } else if (op_array->opcodes[op_2].opcode == ZEND_ADD in zend_dfa_optimize_op_array()
1444 && op_array->opcodes[op_2].op2_type == op_array->opcodes[op_2].result_type in zend_dfa_optimize_op_array()
1445 && op_array->opcodes[op_2].op2.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1446 && op_array->opcodes[op_2].op1_type == IS_CONST in zend_dfa_optimize_op_array()
1447 && Z_TYPE_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op1.constant)) == IS_LONG in zend_dfa_optimize_op_array()
1448 && Z_LVAL_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op1.constant)) == 1 in zend_dfa_optimize_op_array()
1452 op_array->opcodes[op_2].opcode = ZEND_PRE_INC; in zend_dfa_optimize_op_array()
1453 op_array->opcodes[op_2].op1_type = op_array->opcodes[op_2].op2_type; in zend_dfa_optimize_op_array()
1454 op_array->opcodes[op_2].op1.var = op_array->opcodes[op_2].op2.var; in zend_dfa_optimize_op_array()
1455 SET_UNUSED(op_array->opcodes[op_2].op2); in zend_dfa_optimize_op_array()
1456 SET_UNUSED(op_array->opcodes[op_2].result); in zend_dfa_optimize_op_array()
1487 if (use >= 0 && op_array->opcodes[use].opcode == ZEND_IS_SMALLER in zend_dfa_optimize_op_array()
1491 op_array->opcodes[use].opcode = ZEND_IS_SMALLER_OR_EQUAL; in zend_dfa_optimize_op_array()
1501 if (use >= 0 && op_array->opcodes[use].opcode == ZEND_IS_SMALLER in zend_dfa_optimize_op_array()
1505 op_array->opcodes[use].opcode = ZEND_IS_SMALLER_OR_EQUAL; in zend_dfa_optimize_op_array()
1534 op_array, ssa, &op_array->opcodes[ssa->vars[src_var].definition], in zend_dfa_optimize_op_array()
1559 op_array->opcodes[op_2].result_type = opline->op1_type; in zend_dfa_optimize_op_array()
1560 op_array->opcodes[op_2].result.var = opline->op1.var; in zend_dfa_optimize_op_array()
1565 if (op_array->opcodes[op_2].opcode == ZEND_SUB in zend_dfa_optimize_op_array()
1566 && op_array->opcodes[op_2].op1_type == op_array->opcodes[op_2].result_type in zend_dfa_optimize_op_array()
1567 && op_array->opcodes[op_2].op1.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1568 && op_array->opcodes[op_2].op2_type == IS_CONST in zend_dfa_optimize_op_array()
1569 && Z_TYPE_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == IS_LONG in zend_dfa_optimize_op_array()
1570 && Z_LVAL_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == 1 in zend_dfa_optimize_op_array()
1574 op_array->opcodes[op_2].opcode = ZEND_PRE_DEC; in zend_dfa_optimize_op_array()
1575 SET_UNUSED(op_array->opcodes[op_2].op2); in zend_dfa_optimize_op_array()
1576 SET_UNUSED(op_array->opcodes[op_2].result); in zend_dfa_optimize_op_array()
1581 } else if (op_array->opcodes[op_2].opcode == ZEND_ADD in zend_dfa_optimize_op_array()
1582 && op_array->opcodes[op_2].op1_type == op_array->opcodes[op_2].result_type in zend_dfa_optimize_op_array()
1583 && op_array->opcodes[op_2].op1.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1584 && op_array->opcodes[op_2].op2_type == IS_CONST in zend_dfa_optimize_op_array()
1585 && Z_TYPE_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == IS_LONG in zend_dfa_optimize_op_array()
1586 && Z_LVAL_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == 1 in zend_dfa_optimize_op_array()
1590 op_array->opcodes[op_2].opcode = ZEND_PRE_INC; in zend_dfa_optimize_op_array()
1591 SET_UNUSED(op_array->opcodes[op_2].op2); in zend_dfa_optimize_op_array()
1592 SET_UNUSED(op_array->opcodes[op_2].result); in zend_dfa_optimize_op_array()
1597 } else if (op_array->opcodes[op_2].opcode == ZEND_ADD in zend_dfa_optimize_op_array()
1598 && op_array->opcodes[op_2].op2_type == op_array->opcodes[op_2].result_type in zend_dfa_optimize_op_array()
1599 && op_array->opcodes[op_2].op2.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1600 && op_array->opcodes[op_2].op1_type == IS_CONST in zend_dfa_optimize_op_array()
1601 && Z_TYPE_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op1.constant)) == IS_LONG in zend_dfa_optimize_op_array()
1602 && Z_LVAL_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op1.constant)) == 1 in zend_dfa_optimize_op_array()
1606 op_array->opcodes[op_2].opcode = ZEND_PRE_INC; in zend_dfa_optimize_op_array()
1607 op_array->opcodes[op_2].op1_type = op_array->opcodes[op_2].op2_type; in zend_dfa_optimize_op_array()
1608 op_array->opcodes[op_2].op1.var = op_array->opcodes[op_2].op2.var; in zend_dfa_optimize_op_array()
1609 SET_UNUSED(op_array->opcodes[op_2].op2); in zend_dfa_optimize_op_array()
1610 SET_UNUSED(op_array->opcodes[op_2].result); in zend_dfa_optimize_op_array()