| 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 939 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 950 break; | 950 break; |
| 951 case IrOpcode::kStoreBuffer: | 951 case IrOpcode::kStoreBuffer: |
| 952 break; | 952 break; |
| 953 case IrOpcode::kStoreElement: | 953 case IrOpcode::kStoreElement: |
| 954 // (Object, elementtype) -> _|_ | 954 // (Object, elementtype) -> _|_ |
| 955 // TODO(rossberg): activate once machine ops are typed. | 955 // TODO(rossberg): activate once machine ops are typed. |
| 956 // CheckValueInputIs(node, 0, Type::Object()); | 956 // CheckValueInputIs(node, 0, Type::Object()); |
| 957 // CheckValueInputIs(node, 1, ElementAccessOf(node->op()).type)); | 957 // CheckValueInputIs(node, 1, ElementAccessOf(node->op()).type)); |
| 958 CheckNotTyped(node); | 958 CheckNotTyped(node); |
| 959 break; | 959 break; |
| 960 case IrOpcode::kNumberSilenceNaN: |
| 961 CheckValueInputIs(node, 0, Type::NumberOrUndefined()); |
| 962 CheckUpperIs(node, Type::Number()); |
| 963 break; |
| 960 | 964 |
| 961 // Machine operators | 965 // Machine operators |
| 962 // ----------------------- | 966 // ----------------------- |
| 963 case IrOpcode::kLoad: | 967 case IrOpcode::kLoad: |
| 964 case IrOpcode::kStore: | 968 case IrOpcode::kStore: |
| 965 case IrOpcode::kStackSlot: | 969 case IrOpcode::kStackSlot: |
| 966 case IrOpcode::kWord32And: | 970 case IrOpcode::kWord32And: |
| 967 case IrOpcode::kWord32Or: | 971 case IrOpcode::kWord32Or: |
| 968 case IrOpcode::kWord32Xor: | 972 case IrOpcode::kWord32Xor: |
| 969 case IrOpcode::kWord32Shl: | 973 case IrOpcode::kWord32Shl: |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1068 case IrOpcode::kBitcastInt32ToFloat32: | 1072 case IrOpcode::kBitcastInt32ToFloat32: |
| 1069 case IrOpcode::kBitcastInt64ToFloat64: | 1073 case IrOpcode::kBitcastInt64ToFloat64: |
| 1070 case IrOpcode::kBitcastWordToTagged: | 1074 case IrOpcode::kBitcastWordToTagged: |
| 1071 case IrOpcode::kChangeInt32ToInt64: | 1075 case IrOpcode::kChangeInt32ToInt64: |
| 1072 case IrOpcode::kChangeUint32ToUint64: | 1076 case IrOpcode::kChangeUint32ToUint64: |
| 1073 case IrOpcode::kChangeInt32ToFloat64: | 1077 case IrOpcode::kChangeInt32ToFloat64: |
| 1074 case IrOpcode::kChangeUint32ToFloat64: | 1078 case IrOpcode::kChangeUint32ToFloat64: |
| 1075 case IrOpcode::kChangeFloat32ToFloat64: | 1079 case IrOpcode::kChangeFloat32ToFloat64: |
| 1076 case IrOpcode::kChangeFloat64ToInt32: | 1080 case IrOpcode::kChangeFloat64ToInt32: |
| 1077 case IrOpcode::kChangeFloat64ToUint32: | 1081 case IrOpcode::kChangeFloat64ToUint32: |
| 1082 case IrOpcode::kFloat64SilenceNaN: |
| 1078 case IrOpcode::kTruncateFloat64ToUint32: | 1083 case IrOpcode::kTruncateFloat64ToUint32: |
| 1079 case IrOpcode::kTruncateFloat32ToInt32: | 1084 case IrOpcode::kTruncateFloat32ToInt32: |
| 1080 case IrOpcode::kTruncateFloat32ToUint32: | 1085 case IrOpcode::kTruncateFloat32ToUint32: |
| 1081 case IrOpcode::kTryTruncateFloat32ToInt64: | 1086 case IrOpcode::kTryTruncateFloat32ToInt64: |
| 1082 case IrOpcode::kTryTruncateFloat64ToInt64: | 1087 case IrOpcode::kTryTruncateFloat64ToInt64: |
| 1083 case IrOpcode::kTryTruncateFloat32ToUint64: | 1088 case IrOpcode::kTryTruncateFloat32ToUint64: |
| 1084 case IrOpcode::kTryTruncateFloat64ToUint64: | 1089 case IrOpcode::kTryTruncateFloat64ToUint64: |
| 1085 case IrOpcode::kFloat64ExtractLowWord32: | 1090 case IrOpcode::kFloat64ExtractLowWord32: |
| 1086 case IrOpcode::kFloat64ExtractHighWord32: | 1091 case IrOpcode::kFloat64ExtractHighWord32: |
| 1087 case IrOpcode::kFloat64InsertLowWord32: | 1092 case IrOpcode::kFloat64InsertLowWord32: |
| (...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1426 replacement->op()->EffectOutputCount() > 0); | 1431 replacement->op()->EffectOutputCount() > 0); |
| 1427 DCHECK(!NodeProperties::IsFrameStateEdge(edge) || | 1432 DCHECK(!NodeProperties::IsFrameStateEdge(edge) || |
| 1428 replacement->opcode() == IrOpcode::kFrameState); | 1433 replacement->opcode() == IrOpcode::kFrameState); |
| 1429 } | 1434 } |
| 1430 | 1435 |
| 1431 #endif // DEBUG | 1436 #endif // DEBUG |
| 1432 | 1437 |
| 1433 } // namespace compiler | 1438 } // namespace compiler |
| 1434 } // namespace internal | 1439 } // namespace internal |
| 1435 } // namespace v8 | 1440 } // namespace v8 |
| OLD | NEW |