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()
461 uint32_t op_num = send_needly - op_array->opcodes; in zend_dfa_optimize_calls()
473 op_num = call_info->caller_call_opline - op_array->opcodes; in zend_dfa_optimize_calls()
497 op_num = call_info->caller_call_opline - op_array->opcodes; in zend_dfa_optimize_calls()
509 && (op_array->opcodes[use].opcode == ZEND_JMPZ in zend_dfa_optimize_calls()
510 || op_array->opcodes[use].opcode == ZEND_JMPNZ)) { in zend_dfa_optimize_calls()
512 op_array->opcodes[use].op1_type = IS_TMP_VAR; in zend_dfa_optimize_calls()
562 zend_op *opline = &op_array->opcodes[block->start + block->len - 1]; in compress_block()
638 opline = op_array->opcodes + src->start + src->len - 1; in zend_ssa_replace_control_link()
642 ZEND_ASSERT(ZEND_OP1_JMP_ADDR(opline) == op_array->opcodes + old->start); in zend_ssa_replace_control_link()
643 ZEND_SET_OP_JMP_ADDR(opline, opline->op1, op_array->opcodes + dst->start); in zend_ssa_replace_control_link()
656 if (ZEND_OP2_JMP_ADDR(opline) == op_array->opcodes + old->start) { in zend_ssa_replace_control_link()
657 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, op_array->opcodes + dst->start); in zend_ssa_replace_control_link()
662 if (ZEND_OP2_JMP_ADDR(opline) == op_array->opcodes + old->start) { in zend_ssa_replace_control_link()
663 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, op_array->opcodes + dst->start); in zend_ssa_replace_control_link()
707 if ((op_array->opcodes[pred_block->start + pred_block->len - 1].opcode == ZEND_FE_FETCH_R in zend_ssa_unlink_block()
708 || op_array->opcodes[pred_block->start + pred_block->len - 1].opcode == ZEND_FE_FETCH_RW) in zend_ssa_unlink_block()
709 && op_array->opcodes[pred_block->start + pred_block->len - 1].op2_type == IS_CV) { in zend_ssa_unlink_block()
768 opline = op_array->opcodes + op_num; in zend_dfa_optimize_jmps()
973 ZEND_SET_OP_JMP_ADDR(opline, opline->op1, op_array->opcodes + target); in zend_dfa_optimize_jmps()
1021 && op_array->opcodes[use].opcode != ZEND_FREE in zend_dfa_try_to_replace_result()
1022 && op_array->opcodes[use].opcode != ZEND_SEND_VAL in zend_dfa_try_to_replace_result()
1023 && op_array->opcodes[use].opcode != ZEND_SEND_VAL_EX in zend_dfa_try_to_replace_result()
1024 && op_array->opcodes[use].opcode != ZEND_VERIFY_RETURN_TYPE in zend_dfa_try_to_replace_result()
1025 && op_array->opcodes[use].opcode != ZEND_YIELD) { in zend_dfa_try_to_replace_result()
1028 const zend_op *opline = &op_array->opcodes[use]; in zend_dfa_try_to_replace_result()
1045 op_array->opcodes[def].result_type = IS_UNUSED; in zend_dfa_try_to_replace_result()
1046 op_array->opcodes[def].result.var = 0; in zend_dfa_try_to_replace_result()
1053 op_array->opcodes[use].op1_type = IS_CV; in zend_dfa_try_to_replace_result()
1054 op_array->opcodes[use].op1.var = cv; in zend_dfa_try_to_replace_result()
1060 op_array->opcodes[use].op2_type = IS_CV; in zend_dfa_try_to_replace_result()
1061 op_array->opcodes[use].op2.var = cv; in zend_dfa_try_to_replace_result()
1067 op_array->opcodes[use].result_type = IS_CV; in zend_dfa_try_to_replace_result()
1068 op_array->opcodes[use].result.var = cv; in zend_dfa_try_to_replace_result()
1145 opline = op_array->opcodes + op_1; in zend_dfa_optimize_op_array()
1360 op_array, ssa, &op_array->opcodes[ssa->vars[src_var].definition], in zend_dfa_optimize_op_array()
1391 op_array->opcodes[op_2].result_type = opline->result_type; in zend_dfa_optimize_op_array()
1392 op_array->opcodes[op_2].result.var = opline->result.var; in zend_dfa_optimize_op_array()
1397 if (op_array->opcodes[op_2].opcode == ZEND_SUB in zend_dfa_optimize_op_array()
1398 && op_array->opcodes[op_2].op1_type == op_array->opcodes[op_2].result_type in zend_dfa_optimize_op_array()
1399 && op_array->opcodes[op_2].op1.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1400 && op_array->opcodes[op_2].op2_type == IS_CONST in zend_dfa_optimize_op_array()
1401 && Z_TYPE_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == IS_LONG in zend_dfa_optimize_op_array()
1402 && Z_LVAL_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == 1 in zend_dfa_optimize_op_array()
1406 op_array->opcodes[op_2].opcode = ZEND_PRE_DEC; in zend_dfa_optimize_op_array()
1407 SET_UNUSED(op_array->opcodes[op_2].op2); in zend_dfa_optimize_op_array()
1408 SET_UNUSED(op_array->opcodes[op_2].result); in zend_dfa_optimize_op_array()
1413 } else if (op_array->opcodes[op_2].opcode == ZEND_ADD in zend_dfa_optimize_op_array()
1414 && op_array->opcodes[op_2].op1_type == op_array->opcodes[op_2].result_type in zend_dfa_optimize_op_array()
1415 && op_array->opcodes[op_2].op1.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1416 && op_array->opcodes[op_2].op2_type == IS_CONST in zend_dfa_optimize_op_array()
1417 && Z_TYPE_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == IS_LONG in zend_dfa_optimize_op_array()
1418 && Z_LVAL_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == 1 in zend_dfa_optimize_op_array()
1422 op_array->opcodes[op_2].opcode = ZEND_PRE_INC; in zend_dfa_optimize_op_array()
1423 SET_UNUSED(op_array->opcodes[op_2].op2); in zend_dfa_optimize_op_array()
1424 SET_UNUSED(op_array->opcodes[op_2].result); in zend_dfa_optimize_op_array()
1429 } else if (op_array->opcodes[op_2].opcode == ZEND_ADD in zend_dfa_optimize_op_array()
1430 && op_array->opcodes[op_2].op2_type == op_array->opcodes[op_2].result_type in zend_dfa_optimize_op_array()
1431 && op_array->opcodes[op_2].op2.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1432 && op_array->opcodes[op_2].op1_type == IS_CONST in zend_dfa_optimize_op_array()
1433 && Z_TYPE_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op1.constant)) == IS_LONG in zend_dfa_optimize_op_array()
1434 && Z_LVAL_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op1.constant)) == 1 in zend_dfa_optimize_op_array()
1438 op_array->opcodes[op_2].opcode = ZEND_PRE_INC; in zend_dfa_optimize_op_array()
1439 op_array->opcodes[op_2].op1_type = op_array->opcodes[op_2].op2_type; in zend_dfa_optimize_op_array()
1440 op_array->opcodes[op_2].op1.var = op_array->opcodes[op_2].op2.var; in zend_dfa_optimize_op_array()
1441 SET_UNUSED(op_array->opcodes[op_2].op2); in zend_dfa_optimize_op_array()
1442 SET_UNUSED(op_array->opcodes[op_2].result); in zend_dfa_optimize_op_array()
1473 if (use >= 0 && op_array->opcodes[use].opcode == ZEND_IS_SMALLER in zend_dfa_optimize_op_array()
1477 op_array->opcodes[use].opcode = ZEND_IS_SMALLER_OR_EQUAL; 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()
1520 op_array, ssa, &op_array->opcodes[ssa->vars[src_var].definition], in zend_dfa_optimize_op_array()
1545 op_array->opcodes[op_2].result_type = opline->op1_type; in zend_dfa_optimize_op_array()
1546 op_array->opcodes[op_2].result.var = opline->op1.var; in zend_dfa_optimize_op_array()
1551 if (op_array->opcodes[op_2].opcode == ZEND_SUB in zend_dfa_optimize_op_array()
1552 && op_array->opcodes[op_2].op1_type == op_array->opcodes[op_2].result_type in zend_dfa_optimize_op_array()
1553 && op_array->opcodes[op_2].op1.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1554 && op_array->opcodes[op_2].op2_type == IS_CONST in zend_dfa_optimize_op_array()
1555 && Z_TYPE_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == IS_LONG in zend_dfa_optimize_op_array()
1556 && Z_LVAL_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == 1 in zend_dfa_optimize_op_array()
1560 op_array->opcodes[op_2].opcode = ZEND_PRE_DEC; in zend_dfa_optimize_op_array()
1561 SET_UNUSED(op_array->opcodes[op_2].op2); in zend_dfa_optimize_op_array()
1562 SET_UNUSED(op_array->opcodes[op_2].result); in zend_dfa_optimize_op_array()
1567 } else if (op_array->opcodes[op_2].opcode == ZEND_ADD in zend_dfa_optimize_op_array()
1568 && op_array->opcodes[op_2].op1_type == op_array->opcodes[op_2].result_type in zend_dfa_optimize_op_array()
1569 && op_array->opcodes[op_2].op1.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1570 && op_array->opcodes[op_2].op2_type == IS_CONST in zend_dfa_optimize_op_array()
1571 && Z_TYPE_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == IS_LONG in zend_dfa_optimize_op_array()
1572 && Z_LVAL_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == 1 in zend_dfa_optimize_op_array()
1576 op_array->opcodes[op_2].opcode = ZEND_PRE_INC; in zend_dfa_optimize_op_array()
1577 SET_UNUSED(op_array->opcodes[op_2].op2); in zend_dfa_optimize_op_array()
1578 SET_UNUSED(op_array->opcodes[op_2].result); in zend_dfa_optimize_op_array()
1583 } else if (op_array->opcodes[op_2].opcode == ZEND_ADD in zend_dfa_optimize_op_array()
1584 && op_array->opcodes[op_2].op2_type == op_array->opcodes[op_2].result_type in zend_dfa_optimize_op_array()
1585 && op_array->opcodes[op_2].op2.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1586 && op_array->opcodes[op_2].op1_type == IS_CONST in zend_dfa_optimize_op_array()
1587 && Z_TYPE_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op1.constant)) == IS_LONG in zend_dfa_optimize_op_array()
1588 && Z_LVAL_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op1.constant)) == 1 in zend_dfa_optimize_op_array()
1592 op_array->opcodes[op_2].opcode = ZEND_PRE_INC; in zend_dfa_optimize_op_array()
1593 op_array->opcodes[op_2].op1_type = op_array->opcodes[op_2].op2_type; in zend_dfa_optimize_op_array()
1594 op_array->opcodes[op_2].op1.var = op_array->opcodes[op_2].op2.var; in zend_dfa_optimize_op_array()
1595 SET_UNUSED(op_array->opcodes[op_2].op2); in zend_dfa_optimize_op_array()
1596 SET_UNUSED(op_array->opcodes[op_2].result); in zend_dfa_optimize_op_array()