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/verifier.h" | 5 #include "src/compiler/verifier.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <deque> | 8 #include <deque> |
9 #include <queue> | 9 #include <queue> |
10 #include <sstream> | 10 #include <sstream> |
(...skipping 735 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
746 case IrOpcode::kNumberAtan2: | 746 case IrOpcode::kNumberAtan2: |
747 // (Number, Number) -> Number | 747 // (Number, Number) -> Number |
748 CheckValueInputIs(node, 0, Type::Number()); | 748 CheckValueInputIs(node, 0, Type::Number()); |
749 CheckValueInputIs(node, 1, Type::Number()); | 749 CheckValueInputIs(node, 1, Type::Number()); |
750 CheckUpperIs(node, Type::Number()); | 750 CheckUpperIs(node, Type::Number()); |
751 break; | 751 break; |
752 case IrOpcode::kNumberCeil: | 752 case IrOpcode::kNumberCeil: |
753 case IrOpcode::kNumberFloor: | 753 case IrOpcode::kNumberFloor: |
754 case IrOpcode::kNumberFround: | 754 case IrOpcode::kNumberFround: |
755 case IrOpcode::kNumberAtan: | 755 case IrOpcode::kNumberAtan: |
| 756 case IrOpcode::kNumberAtanh: |
756 case IrOpcode::kNumberExp: | 757 case IrOpcode::kNumberExp: |
| 758 case IrOpcode::kNumberExpm1: |
757 case IrOpcode::kNumberLog: | 759 case IrOpcode::kNumberLog: |
758 case IrOpcode::kNumberLog1p: | 760 case IrOpcode::kNumberLog1p: |
759 case IrOpcode::kNumberLog2: | 761 case IrOpcode::kNumberLog2: |
760 case IrOpcode::kNumberLog10: | 762 case IrOpcode::kNumberLog10: |
| 763 case IrOpcode::kNumberCbrt: |
761 case IrOpcode::kNumberRound: | 764 case IrOpcode::kNumberRound: |
762 case IrOpcode::kNumberSqrt: | 765 case IrOpcode::kNumberSqrt: |
763 case IrOpcode::kNumberTrunc: | 766 case IrOpcode::kNumberTrunc: |
764 // Number -> Number | 767 // Number -> Number |
765 CheckValueInputIs(node, 0, Type::Number()); | 768 CheckValueInputIs(node, 0, Type::Number()); |
766 CheckUpperIs(node, Type::Number()); | 769 CheckUpperIs(node, Type::Number()); |
767 break; | 770 break; |
768 case IrOpcode::kNumberToInt32: | 771 case IrOpcode::kNumberToInt32: |
769 // Number -> Signed32 | 772 // Number -> Signed32 |
770 CheckValueInputIs(node, 0, Type::Number()); | 773 CheckValueInputIs(node, 0, Type::Number()); |
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1064 case IrOpcode::kFloat64SubPreserveNan: | 1067 case IrOpcode::kFloat64SubPreserveNan: |
1065 case IrOpcode::kFloat64Neg: | 1068 case IrOpcode::kFloat64Neg: |
1066 case IrOpcode::kFloat64Mul: | 1069 case IrOpcode::kFloat64Mul: |
1067 case IrOpcode::kFloat64Div: | 1070 case IrOpcode::kFloat64Div: |
1068 case IrOpcode::kFloat64Mod: | 1071 case IrOpcode::kFloat64Mod: |
1069 case IrOpcode::kFloat64Max: | 1072 case IrOpcode::kFloat64Max: |
1070 case IrOpcode::kFloat64Min: | 1073 case IrOpcode::kFloat64Min: |
1071 case IrOpcode::kFloat64Abs: | 1074 case IrOpcode::kFloat64Abs: |
1072 case IrOpcode::kFloat64Atan: | 1075 case IrOpcode::kFloat64Atan: |
1073 case IrOpcode::kFloat64Atan2: | 1076 case IrOpcode::kFloat64Atan2: |
| 1077 case IrOpcode::kFloat64Atanh: |
1074 case IrOpcode::kFloat64Exp: | 1078 case IrOpcode::kFloat64Exp: |
| 1079 case IrOpcode::kFloat64Expm1: |
1075 case IrOpcode::kFloat64Log: | 1080 case IrOpcode::kFloat64Log: |
1076 case IrOpcode::kFloat64Log1p: | 1081 case IrOpcode::kFloat64Log1p: |
1077 case IrOpcode::kFloat64Log2: | 1082 case IrOpcode::kFloat64Log2: |
1078 case IrOpcode::kFloat64Log10: | 1083 case IrOpcode::kFloat64Log10: |
| 1084 case IrOpcode::kFloat64Cbrt: |
1079 case IrOpcode::kFloat64Sqrt: | 1085 case IrOpcode::kFloat64Sqrt: |
1080 case IrOpcode::kFloat32RoundDown: | 1086 case IrOpcode::kFloat32RoundDown: |
1081 case IrOpcode::kFloat64RoundDown: | 1087 case IrOpcode::kFloat64RoundDown: |
1082 case IrOpcode::kFloat32RoundUp: | 1088 case IrOpcode::kFloat32RoundUp: |
1083 case IrOpcode::kFloat64RoundUp: | 1089 case IrOpcode::kFloat64RoundUp: |
1084 case IrOpcode::kFloat32RoundTruncate: | 1090 case IrOpcode::kFloat32RoundTruncate: |
1085 case IrOpcode::kFloat64RoundTruncate: | 1091 case IrOpcode::kFloat64RoundTruncate: |
1086 case IrOpcode::kFloat64RoundTiesAway: | 1092 case IrOpcode::kFloat64RoundTiesAway: |
1087 case IrOpcode::kFloat32RoundTiesEven: | 1093 case IrOpcode::kFloat32RoundTiesEven: |
1088 case IrOpcode::kFloat64RoundTiesEven: | 1094 case IrOpcode::kFloat64RoundTiesEven: |
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1463 replacement->op()->EffectOutputCount() > 0); | 1469 replacement->op()->EffectOutputCount() > 0); |
1464 DCHECK(!NodeProperties::IsFrameStateEdge(edge) || | 1470 DCHECK(!NodeProperties::IsFrameStateEdge(edge) || |
1465 replacement->opcode() == IrOpcode::kFrameState); | 1471 replacement->opcode() == IrOpcode::kFrameState); |
1466 } | 1472 } |
1467 | 1473 |
1468 #endif // DEBUG | 1474 #endif // DEBUG |
1469 | 1475 |
1470 } // namespace compiler | 1476 } // namespace compiler |
1471 } // namespace internal | 1477 } // namespace internal |
1472 } // namespace v8 | 1478 } // namespace v8 |
OLD | NEW |