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()
655 if (ZEND_OP2_JMP_ADDR(opline) == op_array->opcodes + old->start) { in zend_ssa_replace_control_link()
656 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, op_array->opcodes + dst->start); in zend_ssa_replace_control_link()
661 if (ZEND_OP2_JMP_ADDR(opline) == op_array->opcodes + old->start) { in zend_ssa_replace_control_link()
662 ZEND_SET_OP_JMP_ADDR(opline, opline->op2, op_array->opcodes + dst->start); in zend_ssa_replace_control_link()
706 if ((op_array->opcodes[pred_block->start + pred_block->len - 1].opcode == ZEND_FE_FETCH_R in zend_ssa_unlink_block()
707 || op_array->opcodes[pred_block->start + pred_block->len - 1].opcode == ZEND_FE_FETCH_RW) in zend_ssa_unlink_block()
708 && op_array->opcodes[pred_block->start + pred_block->len - 1].op2_type == IS_CV) { in zend_ssa_unlink_block()
767 opline = op_array->opcodes + op_num; in zend_dfa_optimize_jmps()
972 ZEND_SET_OP_JMP_ADDR(opline, opline->op1, op_array->opcodes + target); in zend_dfa_optimize_jmps()
1020 && op_array->opcodes[use].opcode != ZEND_FREE in zend_dfa_try_to_replace_result()
1021 && op_array->opcodes[use].opcode != ZEND_SEND_VAL in zend_dfa_try_to_replace_result()
1022 && op_array->opcodes[use].opcode != ZEND_SEND_VAL_EX in zend_dfa_try_to_replace_result()
1023 && op_array->opcodes[use].opcode != ZEND_VERIFY_RETURN_TYPE in zend_dfa_try_to_replace_result()
1024 && op_array->opcodes[use].opcode != ZEND_YIELD) { in zend_dfa_try_to_replace_result()
1027 const zend_op *opline = &op_array->opcodes[use]; in zend_dfa_try_to_replace_result()
1044 op_array->opcodes[def].result_type = IS_UNUSED; in zend_dfa_try_to_replace_result()
1045 op_array->opcodes[def].result.var = 0; in zend_dfa_try_to_replace_result()
1052 op_array->opcodes[use].op1_type = IS_CV; in zend_dfa_try_to_replace_result()
1053 op_array->opcodes[use].op1.var = cv; in zend_dfa_try_to_replace_result()
1059 op_array->opcodes[use].op2_type = IS_CV; in zend_dfa_try_to_replace_result()
1060 op_array->opcodes[use].op2.var = cv; in zend_dfa_try_to_replace_result()
1066 op_array->opcodes[use].result_type = IS_CV; in zend_dfa_try_to_replace_result()
1067 op_array->opcodes[use].result.var = cv; in zend_dfa_try_to_replace_result()
1144 opline = op_array->opcodes + op_1; in zend_dfa_optimize_op_array()
1359 op_array, ssa, &op_array->opcodes[ssa->vars[src_var].definition], in zend_dfa_optimize_op_array()
1390 op_array->opcodes[op_2].result_type = opline->result_type; in zend_dfa_optimize_op_array()
1391 op_array->opcodes[op_2].result.var = opline->result.var; in zend_dfa_optimize_op_array()
1396 if (op_array->opcodes[op_2].opcode == ZEND_SUB in zend_dfa_optimize_op_array()
1397 && op_array->opcodes[op_2].op1_type == op_array->opcodes[op_2].result_type in zend_dfa_optimize_op_array()
1398 && op_array->opcodes[op_2].op1.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1399 && op_array->opcodes[op_2].op2_type == IS_CONST in zend_dfa_optimize_op_array()
1400 && Z_TYPE_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == IS_LONG in zend_dfa_optimize_op_array()
1401 && Z_LVAL_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == 1 in zend_dfa_optimize_op_array()
1405 op_array->opcodes[op_2].opcode = ZEND_PRE_DEC; in zend_dfa_optimize_op_array()
1406 SET_UNUSED(op_array->opcodes[op_2].op2); in zend_dfa_optimize_op_array()
1407 SET_UNUSED(op_array->opcodes[op_2].result); in zend_dfa_optimize_op_array()
1412 } else if (op_array->opcodes[op_2].opcode == ZEND_ADD in zend_dfa_optimize_op_array()
1413 && op_array->opcodes[op_2].op1_type == op_array->opcodes[op_2].result_type in zend_dfa_optimize_op_array()
1414 && op_array->opcodes[op_2].op1.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1415 && op_array->opcodes[op_2].op2_type == IS_CONST in zend_dfa_optimize_op_array()
1416 && Z_TYPE_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == IS_LONG in zend_dfa_optimize_op_array()
1417 && Z_LVAL_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == 1 in zend_dfa_optimize_op_array()
1421 op_array->opcodes[op_2].opcode = ZEND_PRE_INC; in zend_dfa_optimize_op_array()
1422 SET_UNUSED(op_array->opcodes[op_2].op2); in zend_dfa_optimize_op_array()
1423 SET_UNUSED(op_array->opcodes[op_2].result); in zend_dfa_optimize_op_array()
1428 } else if (op_array->opcodes[op_2].opcode == ZEND_ADD in zend_dfa_optimize_op_array()
1429 && op_array->opcodes[op_2].op2_type == op_array->opcodes[op_2].result_type in zend_dfa_optimize_op_array()
1430 && op_array->opcodes[op_2].op2.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1431 && op_array->opcodes[op_2].op1_type == IS_CONST in zend_dfa_optimize_op_array()
1432 && Z_TYPE_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op1.constant)) == IS_LONG in zend_dfa_optimize_op_array()
1433 && Z_LVAL_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op1.constant)) == 1 in zend_dfa_optimize_op_array()
1437 op_array->opcodes[op_2].opcode = ZEND_PRE_INC; in zend_dfa_optimize_op_array()
1438 op_array->opcodes[op_2].op1_type = op_array->opcodes[op_2].op2_type; in zend_dfa_optimize_op_array()
1439 op_array->opcodes[op_2].op1.var = op_array->opcodes[op_2].op2.var; in zend_dfa_optimize_op_array()
1440 SET_UNUSED(op_array->opcodes[op_2].op2); in zend_dfa_optimize_op_array()
1441 SET_UNUSED(op_array->opcodes[op_2].result); in zend_dfa_optimize_op_array()
1472 if (use >= 0 && op_array->opcodes[use].opcode == ZEND_IS_SMALLER in zend_dfa_optimize_op_array()
1476 op_array->opcodes[use].opcode = ZEND_IS_SMALLER_OR_EQUAL; in zend_dfa_optimize_op_array()
1486 if (use >= 0 && op_array->opcodes[use].opcode == ZEND_IS_SMALLER in zend_dfa_optimize_op_array()
1490 op_array->opcodes[use].opcode = ZEND_IS_SMALLER_OR_EQUAL; in zend_dfa_optimize_op_array()
1519 op_array, ssa, &op_array->opcodes[ssa->vars[src_var].definition], in zend_dfa_optimize_op_array()
1544 op_array->opcodes[op_2].result_type = opline->op1_type; in zend_dfa_optimize_op_array()
1545 op_array->opcodes[op_2].result.var = opline->op1.var; in zend_dfa_optimize_op_array()
1550 if (op_array->opcodes[op_2].opcode == ZEND_SUB in zend_dfa_optimize_op_array()
1551 && op_array->opcodes[op_2].op1_type == op_array->opcodes[op_2].result_type in zend_dfa_optimize_op_array()
1552 && op_array->opcodes[op_2].op1.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1553 && op_array->opcodes[op_2].op2_type == IS_CONST in zend_dfa_optimize_op_array()
1554 && Z_TYPE_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == IS_LONG in zend_dfa_optimize_op_array()
1555 && Z_LVAL_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == 1 in zend_dfa_optimize_op_array()
1559 op_array->opcodes[op_2].opcode = ZEND_PRE_DEC; in zend_dfa_optimize_op_array()
1560 SET_UNUSED(op_array->opcodes[op_2].op2); in zend_dfa_optimize_op_array()
1561 SET_UNUSED(op_array->opcodes[op_2].result); in zend_dfa_optimize_op_array()
1566 } else if (op_array->opcodes[op_2].opcode == ZEND_ADD in zend_dfa_optimize_op_array()
1567 && op_array->opcodes[op_2].op1_type == op_array->opcodes[op_2].result_type in zend_dfa_optimize_op_array()
1568 && op_array->opcodes[op_2].op1.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1569 && op_array->opcodes[op_2].op2_type == IS_CONST in zend_dfa_optimize_op_array()
1570 && Z_TYPE_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == IS_LONG in zend_dfa_optimize_op_array()
1571 && Z_LVAL_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op2.constant)) == 1 in zend_dfa_optimize_op_array()
1575 op_array->opcodes[op_2].opcode = ZEND_PRE_INC; in zend_dfa_optimize_op_array()
1576 SET_UNUSED(op_array->opcodes[op_2].op2); in zend_dfa_optimize_op_array()
1577 SET_UNUSED(op_array->opcodes[op_2].result); in zend_dfa_optimize_op_array()
1582 } else if (op_array->opcodes[op_2].opcode == ZEND_ADD in zend_dfa_optimize_op_array()
1583 && op_array->opcodes[op_2].op2_type == op_array->opcodes[op_2].result_type in zend_dfa_optimize_op_array()
1584 && op_array->opcodes[op_2].op2.var == op_array->opcodes[op_2].result.var in zend_dfa_optimize_op_array()
1585 && op_array->opcodes[op_2].op1_type == IS_CONST in zend_dfa_optimize_op_array()
1586 && Z_TYPE_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op1.constant)) == IS_LONG in zend_dfa_optimize_op_array()
1587 && Z_LVAL_P(CT_CONSTANT_EX(op_array, op_array->opcodes[op_2].op1.constant)) == 1 in zend_dfa_optimize_op_array()
1591 op_array->opcodes[op_2].opcode = ZEND_PRE_INC; in zend_dfa_optimize_op_array()
1592 op_array->opcodes[op_2].op1_type = op_array->opcodes[op_2].op2_type; in zend_dfa_optimize_op_array()
1593 op_array->opcodes[op_2].op1.var = op_array->opcodes[op_2].op2.var; in zend_dfa_optimize_op_array()
1594 SET_UNUSED(op_array->opcodes[op_2].op2); in zend_dfa_optimize_op_array()
1595 SET_UNUSED(op_array->opcodes[op_2].result); in zend_dfa_optimize_op_array()