Lines Matching refs:opcodes
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()
176 op_array->opcodes[target] = op_array->opcodes[i]; in zend_ssa_remove_nops()
190 opline = op_array->opcodes + old_end - 1; in zend_ssa_remove_nops()
195 new_opline = op_array->opcodes + target - 1; in zend_ssa_remove_nops()
210 MAKE_NOP(op_array->opcodes + i); in zend_ssa_remove_nops()
237 zend_op *opline = op_array->opcodes + b->start + b->len - 1; in zend_ssa_remove_nops()
259 opline_num = &op_array->opcodes[*opline_num].result.opline_num; in zend_ssa_remove_nops()
268 shiftlist[call_info->caller_init_opline - op_array->opcodes]; in zend_ssa_remove_nops()
271 shiftlist[call_info->caller_call_opline - op_array->opcodes]; in zend_ssa_remove_nops()
475 uint32_t op_num = send_needly - op_array->opcodes; in zend_dfa_optimize_calls()
487 op_num = call_info->caller_call_opline - op_array->opcodes; in zend_dfa_optimize_calls()
511 op_num = call_info->caller_call_opline - op_array->opcodes; 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()
526 op_array->opcodes[use].op1_type = IS_TMP_VAR; in zend_dfa_optimize_calls()
576 zend_op *opline = &op_array->opcodes[block->start + block->len - 1]; in compress_block()
652 opline = op_array->opcodes + src->start + src->len - 1; in zend_ssa_replace_control_link()
656 ZEND_ASSERT(ZEND_OP1_JMP_ADDR(opline) == op_array->opcodes + old->start); in zend_ssa_replace_control_link()
657 ZEND_SET_OP_JMP_ADDR(opline, opline->op1, op_array->opcodes + dst->start); in zend_ssa_replace_control_link()
674 if (ZEND_OP2_JMP_ADDR(opline) == op_array->opcodes + old->start) { in zend_ssa_replace_control_link()
675 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, op_array->opcodes + dst->start); in zend_ssa_replace_control_link()
680 if (ZEND_OP2_JMP_ADDR(opline) == op_array->opcodes + old->start) { in zend_ssa_replace_control_link()
681 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, op_array->opcodes + dst->start); 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()
727 && op_array->opcodes[pred_block->start + pred_block->len - 1].op2_type == IS_CV) { in zend_ssa_unlink_block()
786 opline = op_array->opcodes + op_num; in zend_dfa_optimize_jmps()
1034 ZEND_SET_OP_JMP_ADDR(opline, opline->op1, op_array->opcodes + target); 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()
1089 const zend_op *opline = &op_array->opcodes[use]; in zend_dfa_try_to_replace_result()
1106 op_array->opcodes[def].result_type = IS_UNUSED; in zend_dfa_try_to_replace_result()
1107 op_array->opcodes[def].result.var = 0; in zend_dfa_try_to_replace_result()
1114 op_array->opcodes[use].op1_type = IS_CV; in zend_dfa_try_to_replace_result()
1115 op_array->opcodes[use].op1.var = cv; in zend_dfa_try_to_replace_result()
1121 op_array->opcodes[use].op2_type = IS_CV; in zend_dfa_try_to_replace_result()
1122 op_array->opcodes[use].op2.var = cv; in zend_dfa_try_to_replace_result()
1128 op_array->opcodes[use].result_type = IS_CV; in zend_dfa_try_to_replace_result()
1129 op_array->opcodes[use].result.var = cv; in zend_dfa_try_to_replace_result()
1206 opline = op_array->opcodes + op_1; in zend_dfa_optimize_op_array()
1400 op_array, ssa, &op_array->opcodes[ssa->vars[src_var].definition], in zend_dfa_optimize_op_array()
1428 op_array->opcodes[op_2].result_type = opline->result_type; in zend_dfa_optimize_op_array()
1429 op_array->opcodes[op_2].result.var = opline->result.var; in zend_dfa_optimize_op_array()
1434 if (op_array->opcodes[op_2].opcode == ZEND_SUB in zend_dfa_optimize_op_array()
1435 && op_array->opcodes[op_2].op1_type == op_array->opcodes[op_2].result_type in zend_dfa_optimize_op_array()
1436 && op_array->opcodes[op_2].op1.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1437 && op_array->opcodes[op_2].op2_type == IS_CONST in zend_dfa_optimize_op_array()
1438 && Z_TYPE_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == IS_LONG in zend_dfa_optimize_op_array()
1439 && Z_LVAL_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == 1 in zend_dfa_optimize_op_array()
1443 op_array->opcodes[op_2].opcode = ZEND_PRE_DEC; in zend_dfa_optimize_op_array()
1444 SET_UNUSED(op_array->opcodes[op_2].op2); in zend_dfa_optimize_op_array()
1445 SET_UNUSED(op_array->opcodes[op_2].result); in zend_dfa_optimize_op_array()
1450 } else if (op_array->opcodes[op_2].opcode == ZEND_ADD in zend_dfa_optimize_op_array()
1451 && op_array->opcodes[op_2].op1_type == op_array->opcodes[op_2].result_type in zend_dfa_optimize_op_array()
1452 && op_array->opcodes[op_2].op1.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1453 && op_array->opcodes[op_2].op2_type == IS_CONST in zend_dfa_optimize_op_array()
1454 && Z_TYPE_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == IS_LONG in zend_dfa_optimize_op_array()
1455 && Z_LVAL_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == 1 in zend_dfa_optimize_op_array()
1459 op_array->opcodes[op_2].opcode = ZEND_PRE_INC; in zend_dfa_optimize_op_array()
1460 SET_UNUSED(op_array->opcodes[op_2].op2); in zend_dfa_optimize_op_array()
1461 SET_UNUSED(op_array->opcodes[op_2].result); in zend_dfa_optimize_op_array()
1466 } else if (op_array->opcodes[op_2].opcode == ZEND_ADD in zend_dfa_optimize_op_array()
1467 && op_array->opcodes[op_2].op2_type == op_array->opcodes[op_2].result_type in zend_dfa_optimize_op_array()
1468 && op_array->opcodes[op_2].op2.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1469 && op_array->opcodes[op_2].op1_type == IS_CONST in zend_dfa_optimize_op_array()
1470 && Z_TYPE_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op1.constant)) == IS_LONG in zend_dfa_optimize_op_array()
1471 && Z_LVAL_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op1.constant)) == 1 in zend_dfa_optimize_op_array()
1475 op_array->opcodes[op_2].opcode = ZEND_PRE_INC; in zend_dfa_optimize_op_array()
1476 op_array->opcodes[op_2].op1_type = op_array->opcodes[op_2].op2_type; in zend_dfa_optimize_op_array()
1477 op_array->opcodes[op_2].op1.var = op_array->opcodes[op_2].op2.var; in zend_dfa_optimize_op_array()
1478 SET_UNUSED(op_array->opcodes[op_2].op2); in zend_dfa_optimize_op_array()
1479 SET_UNUSED(op_array->opcodes[op_2].result); in zend_dfa_optimize_op_array()
1511 if (use >= 0 && op_array->opcodes[use].opcode == ZEND_IS_SMALLER in zend_dfa_optimize_op_array()
1515 op_array->opcodes[use].opcode = ZEND_IS_SMALLER_OR_EQUAL; in zend_dfa_optimize_op_array()
1525 if (use >= 0 && op_array->opcodes[use].opcode == ZEND_IS_SMALLER in zend_dfa_optimize_op_array()
1529 op_array->opcodes[use].opcode = ZEND_IS_SMALLER_OR_EQUAL; in zend_dfa_optimize_op_array()
1558 op_array, ssa, &op_array->opcodes[ssa->vars[src_var].definition], in zend_dfa_optimize_op_array()
1583 op_array->opcodes[op_2].result_type = opline->op1_type; in zend_dfa_optimize_op_array()
1584 op_array->opcodes[op_2].result.var = opline->op1.var; in zend_dfa_optimize_op_array()
1589 if (op_array->opcodes[op_2].opcode == ZEND_SUB in zend_dfa_optimize_op_array()
1590 && op_array->opcodes[op_2].op1_type == op_array->opcodes[op_2].result_type in zend_dfa_optimize_op_array()
1591 && op_array->opcodes[op_2].op1.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1592 && op_array->opcodes[op_2].op2_type == IS_CONST in zend_dfa_optimize_op_array()
1593 && Z_TYPE_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == IS_LONG in zend_dfa_optimize_op_array()
1594 && Z_LVAL_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == 1 in zend_dfa_optimize_op_array()
1598 op_array->opcodes[op_2].opcode = ZEND_PRE_DEC; in zend_dfa_optimize_op_array()
1599 SET_UNUSED(op_array->opcodes[op_2].op2); in zend_dfa_optimize_op_array()
1600 SET_UNUSED(op_array->opcodes[op_2].result); in zend_dfa_optimize_op_array()
1605 } else if (op_array->opcodes[op_2].opcode == ZEND_ADD in zend_dfa_optimize_op_array()
1606 && op_array->opcodes[op_2].op1_type == op_array->opcodes[op_2].result_type in zend_dfa_optimize_op_array()
1607 && op_array->opcodes[op_2].op1.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1608 && op_array->opcodes[op_2].op2_type == IS_CONST in zend_dfa_optimize_op_array()
1609 && Z_TYPE_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == IS_LONG in zend_dfa_optimize_op_array()
1610 && Z_LVAL_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == 1 in zend_dfa_optimize_op_array()
1614 op_array->opcodes[op_2].opcode = ZEND_PRE_INC; in zend_dfa_optimize_op_array()
1615 SET_UNUSED(op_array->opcodes[op_2].op2); in zend_dfa_optimize_op_array()
1616 SET_UNUSED(op_array->opcodes[op_2].result); in zend_dfa_optimize_op_array()
1621 } else if (op_array->opcodes[op_2].opcode == ZEND_ADD in zend_dfa_optimize_op_array()
1622 && op_array->opcodes[op_2].op2_type == op_array->opcodes[op_2].result_type in zend_dfa_optimize_op_array()
1623 && op_array->opcodes[op_2].op2.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1624 && op_array->opcodes[op_2].op1_type == IS_CONST in zend_dfa_optimize_op_array()
1625 && Z_TYPE_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op1.constant)) == IS_LONG in zend_dfa_optimize_op_array()
1626 && Z_LVAL_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op1.constant)) == 1 in zend_dfa_optimize_op_array()
1630 op_array->opcodes[op_2].opcode = ZEND_PRE_INC; in zend_dfa_optimize_op_array()
1631 op_array->opcodes[op_2].op1_type = op_array->opcodes[op_2].op2_type; in zend_dfa_optimize_op_array()
1632 op_array->opcodes[op_2].op1.var = op_array->opcodes[op_2].op2.var; in zend_dfa_optimize_op_array()
1633 SET_UNUSED(op_array->opcodes[op_2].op2); in zend_dfa_optimize_op_array()
1634 SET_UNUSED(op_array->opcodes[op_2].result); in zend_dfa_optimize_op_array()