| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/compiler/instruction-selector.h" | 5 #include "src/compiler/instruction-selector.h" |
| 6 | 6 |
| 7 #include <limits> | 7 #include <limits> |
| 8 | 8 |
| 9 #include "src/base/adapters.h" | 9 #include "src/base/adapters.h" |
| 10 #include "src/compiler/instruction-selector-impl.h" | 10 #include "src/compiler/instruction-selector-impl.h" |
| (...skipping 970 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 981 case IrOpcode::kInt32Add: | 981 case IrOpcode::kInt32Add: |
| 982 return MarkAsWord32(node), VisitInt32Add(node); | 982 return MarkAsWord32(node), VisitInt32Add(node); |
| 983 case IrOpcode::kInt32AddWithOverflow: | 983 case IrOpcode::kInt32AddWithOverflow: |
| 984 return MarkAsWord32(node), VisitInt32AddWithOverflow(node); | 984 return MarkAsWord32(node), VisitInt32AddWithOverflow(node); |
| 985 case IrOpcode::kInt32Sub: | 985 case IrOpcode::kInt32Sub: |
| 986 return MarkAsWord32(node), VisitInt32Sub(node); | 986 return MarkAsWord32(node), VisitInt32Sub(node); |
| 987 case IrOpcode::kInt32SubWithOverflow: | 987 case IrOpcode::kInt32SubWithOverflow: |
| 988 return VisitInt32SubWithOverflow(node); | 988 return VisitInt32SubWithOverflow(node); |
| 989 case IrOpcode::kInt32Mul: | 989 case IrOpcode::kInt32Mul: |
| 990 return MarkAsWord32(node), VisitInt32Mul(node); | 990 return MarkAsWord32(node), VisitInt32Mul(node); |
| 991 case IrOpcode::kInt32MulWithOverflow: |
| 992 return MarkAsWord32(node), VisitInt32MulWithOverflow(node); |
| 991 case IrOpcode::kInt32MulHigh: | 993 case IrOpcode::kInt32MulHigh: |
| 992 return VisitInt32MulHigh(node); | 994 return VisitInt32MulHigh(node); |
| 993 case IrOpcode::kInt32Div: | 995 case IrOpcode::kInt32Div: |
| 994 return MarkAsWord32(node), VisitInt32Div(node); | 996 return MarkAsWord32(node), VisitInt32Div(node); |
| 995 case IrOpcode::kInt32Mod: | 997 case IrOpcode::kInt32Mod: |
| 996 return MarkAsWord32(node), VisitInt32Mod(node); | 998 return MarkAsWord32(node), VisitInt32Mod(node); |
| 997 case IrOpcode::kInt32LessThan: | 999 case IrOpcode::kInt32LessThan: |
| 998 return VisitInt32LessThan(node); | 1000 return VisitInt32LessThan(node); |
| 999 case IrOpcode::kInt32LessThanOrEqual: | 1001 case IrOpcode::kInt32LessThanOrEqual: |
| 1000 return VisitInt32LessThanOrEqual(node); | 1002 return VisitInt32LessThanOrEqual(node); |
| (...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1473 } | 1475 } |
| 1474 | 1476 |
| 1475 | 1477 |
| 1476 void InstructionSelector::VisitInt64Sub(Node* node) { UNIMPLEMENTED(); } | 1478 void InstructionSelector::VisitInt64Sub(Node* node) { UNIMPLEMENTED(); } |
| 1477 | 1479 |
| 1478 | 1480 |
| 1479 void InstructionSelector::VisitInt64SubWithOverflow(Node* node) { | 1481 void InstructionSelector::VisitInt64SubWithOverflow(Node* node) { |
| 1480 UNIMPLEMENTED(); | 1482 UNIMPLEMENTED(); |
| 1481 } | 1483 } |
| 1482 | 1484 |
| 1483 | |
| 1484 void InstructionSelector::VisitInt64Mul(Node* node) { UNIMPLEMENTED(); } | 1485 void InstructionSelector::VisitInt64Mul(Node* node) { UNIMPLEMENTED(); } |
| 1485 | 1486 |
| 1486 | 1487 |
| 1487 void InstructionSelector::VisitInt64Div(Node* node) { UNIMPLEMENTED(); } | 1488 void InstructionSelector::VisitInt64Div(Node* node) { UNIMPLEMENTED(); } |
| 1488 | 1489 |
| 1489 | 1490 |
| 1490 void InstructionSelector::VisitInt64LessThan(Node* node) { UNIMPLEMENTED(); } | 1491 void InstructionSelector::VisitInt64LessThan(Node* node) { UNIMPLEMENTED(); } |
| 1491 | 1492 |
| 1492 | 1493 |
| 1493 void InstructionSelector::VisitInt64LessThanOrEqual(Node* node) { | 1494 void InstructionSelector::VisitInt64LessThanOrEqual(Node* node) { |
| (...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1641 } | 1642 } |
| 1642 } | 1643 } |
| 1643 | 1644 |
| 1644 | 1645 |
| 1645 void InstructionSelector::VisitProjection(Node* node) { | 1646 void InstructionSelector::VisitProjection(Node* node) { |
| 1646 OperandGenerator g(this); | 1647 OperandGenerator g(this); |
| 1647 Node* value = node->InputAt(0); | 1648 Node* value = node->InputAt(0); |
| 1648 switch (value->opcode()) { | 1649 switch (value->opcode()) { |
| 1649 case IrOpcode::kInt32AddWithOverflow: | 1650 case IrOpcode::kInt32AddWithOverflow: |
| 1650 case IrOpcode::kInt32SubWithOverflow: | 1651 case IrOpcode::kInt32SubWithOverflow: |
| 1652 case IrOpcode::kInt32MulWithOverflow: |
| 1651 case IrOpcode::kInt64AddWithOverflow: | 1653 case IrOpcode::kInt64AddWithOverflow: |
| 1652 case IrOpcode::kInt64SubWithOverflow: | 1654 case IrOpcode::kInt64SubWithOverflow: |
| 1653 case IrOpcode::kTryTruncateFloat32ToInt64: | 1655 case IrOpcode::kTryTruncateFloat32ToInt64: |
| 1654 case IrOpcode::kTryTruncateFloat64ToInt64: | 1656 case IrOpcode::kTryTruncateFloat64ToInt64: |
| 1655 case IrOpcode::kTryTruncateFloat32ToUint64: | 1657 case IrOpcode::kTryTruncateFloat32ToUint64: |
| 1656 case IrOpcode::kTryTruncateFloat64ToUint64: | 1658 case IrOpcode::kTryTruncateFloat64ToUint64: |
| 1657 case IrOpcode::kInt32PairAdd: | 1659 case IrOpcode::kInt32PairAdd: |
| 1658 case IrOpcode::kInt32PairSub: | 1660 case IrOpcode::kInt32PairSub: |
| 1659 case IrOpcode::kInt32PairMul: | 1661 case IrOpcode::kInt32PairMul: |
| 1660 case IrOpcode::kWord32PairShl: | 1662 case IrOpcode::kWord32PairShl: |
| (...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1986 return new (instruction_zone()) FrameStateDescriptor( | 1988 return new (instruction_zone()) FrameStateDescriptor( |
| 1987 instruction_zone(), state_info.type(), state_info.bailout_id(), | 1989 instruction_zone(), state_info.type(), state_info.bailout_id(), |
| 1988 state_info.state_combine(), parameters, locals, stack, | 1990 state_info.state_combine(), parameters, locals, stack, |
| 1989 state_info.shared_info(), outer_state); | 1991 state_info.shared_info(), outer_state); |
| 1990 } | 1992 } |
| 1991 | 1993 |
| 1992 | 1994 |
| 1993 } // namespace compiler | 1995 } // namespace compiler |
| 1994 } // namespace internal | 1996 } // namespace internal |
| 1995 } // namespace v8 | 1997 } // namespace v8 |
| OLD | NEW |