| 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 946 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 957 break; | 957 break; |
| 958 case IrOpcode::kStoreBuffer: | 958 case IrOpcode::kStoreBuffer: |
| 959 break; | 959 break; |
| 960 case IrOpcode::kStoreElement: | 960 case IrOpcode::kStoreElement: |
| 961 // (Object, elementtype) -> _|_ | 961 // (Object, elementtype) -> _|_ |
| 962 // TODO(rossberg): activate once machine ops are typed. | 962 // TODO(rossberg): activate once machine ops are typed. |
| 963 // CheckValueInputIs(node, 0, Type::Object()); | 963 // CheckValueInputIs(node, 0, Type::Object()); |
| 964 // CheckValueInputIs(node, 1, ElementAccessOf(node->op()).type)); | 964 // CheckValueInputIs(node, 1, ElementAccessOf(node->op()).type)); |
| 965 CheckNotTyped(node); | 965 CheckNotTyped(node); |
| 966 break; | 966 break; |
| 967 case IrOpcode::kNumberSilenceNaN: |
| 968 CheckValueInputIs(node, 0, Type::NumberOrUndefined()); |
| 969 CheckUpperIs(node, Type::Number()); |
| 970 break; |
| 967 | 971 |
| 968 // Machine operators | 972 // Machine operators |
| 969 // ----------------------- | 973 // ----------------------- |
| 970 case IrOpcode::kLoad: | 974 case IrOpcode::kLoad: |
| 971 case IrOpcode::kStore: | 975 case IrOpcode::kStore: |
| 972 case IrOpcode::kStackSlot: | 976 case IrOpcode::kStackSlot: |
| 973 case IrOpcode::kWord32And: | 977 case IrOpcode::kWord32And: |
| 974 case IrOpcode::kWord32Or: | 978 case IrOpcode::kWord32Or: |
| 975 case IrOpcode::kWord32Xor: | 979 case IrOpcode::kWord32Xor: |
| 976 case IrOpcode::kWord32Shl: | 980 case IrOpcode::kWord32Shl: |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1077 case IrOpcode::kBitcastInt32ToFloat32: | 1081 case IrOpcode::kBitcastInt32ToFloat32: |
| 1078 case IrOpcode::kBitcastInt64ToFloat64: | 1082 case IrOpcode::kBitcastInt64ToFloat64: |
| 1079 case IrOpcode::kBitcastWordToTagged: | 1083 case IrOpcode::kBitcastWordToTagged: |
| 1080 case IrOpcode::kChangeInt32ToInt64: | 1084 case IrOpcode::kChangeInt32ToInt64: |
| 1081 case IrOpcode::kChangeUint32ToUint64: | 1085 case IrOpcode::kChangeUint32ToUint64: |
| 1082 case IrOpcode::kChangeInt32ToFloat64: | 1086 case IrOpcode::kChangeInt32ToFloat64: |
| 1083 case IrOpcode::kChangeUint32ToFloat64: | 1087 case IrOpcode::kChangeUint32ToFloat64: |
| 1084 case IrOpcode::kChangeFloat32ToFloat64: | 1088 case IrOpcode::kChangeFloat32ToFloat64: |
| 1085 case IrOpcode::kChangeFloat64ToInt32: | 1089 case IrOpcode::kChangeFloat64ToInt32: |
| 1086 case IrOpcode::kChangeFloat64ToUint32: | 1090 case IrOpcode::kChangeFloat64ToUint32: |
| 1091 case IrOpcode::kFloat64SilenceNaN: |
| 1087 case IrOpcode::kTruncateFloat64ToUint32: | 1092 case IrOpcode::kTruncateFloat64ToUint32: |
| 1088 case IrOpcode::kTruncateFloat32ToInt32: | 1093 case IrOpcode::kTruncateFloat32ToInt32: |
| 1089 case IrOpcode::kTruncateFloat32ToUint32: | 1094 case IrOpcode::kTruncateFloat32ToUint32: |
| 1090 case IrOpcode::kTryTruncateFloat32ToInt64: | 1095 case IrOpcode::kTryTruncateFloat32ToInt64: |
| 1091 case IrOpcode::kTryTruncateFloat64ToInt64: | 1096 case IrOpcode::kTryTruncateFloat64ToInt64: |
| 1092 case IrOpcode::kTryTruncateFloat32ToUint64: | 1097 case IrOpcode::kTryTruncateFloat32ToUint64: |
| 1093 case IrOpcode::kTryTruncateFloat64ToUint64: | 1098 case IrOpcode::kTryTruncateFloat64ToUint64: |
| 1094 case IrOpcode::kFloat64ExtractLowWord32: | 1099 case IrOpcode::kFloat64ExtractLowWord32: |
| 1095 case IrOpcode::kFloat64ExtractHighWord32: | 1100 case IrOpcode::kFloat64ExtractHighWord32: |
| 1096 case IrOpcode::kFloat64InsertLowWord32: | 1101 case IrOpcode::kFloat64InsertLowWord32: |
| (...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1435 replacement->op()->EffectOutputCount() > 0); | 1440 replacement->op()->EffectOutputCount() > 0); |
| 1436 DCHECK(!NodeProperties::IsFrameStateEdge(edge) || | 1441 DCHECK(!NodeProperties::IsFrameStateEdge(edge) || |
| 1437 replacement->opcode() == IrOpcode::kFrameState); | 1442 replacement->opcode() == IrOpcode::kFrameState); |
| 1438 } | 1443 } |
| 1439 | 1444 |
| 1440 #endif // DEBUG | 1445 #endif // DEBUG |
| 1441 | 1446 |
| 1442 } // namespace compiler | 1447 } // namespace compiler |
| 1443 } // namespace internal | 1448 } // namespace internal |
| 1444 } // namespace v8 | 1449 } // namespace v8 |
| OLD | NEW |