| 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 <deque> | 7 #include <deque> |
| 8 #include <queue> | 8 #include <queue> |
| 9 #include <sstream> | 9 #include <sstream> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 638 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 649 CheckNotTyped(node); | 649 CheckNotTyped(node); |
| 650 break; | 650 break; |
| 651 case IrOpcode::kStoreElement: | 651 case IrOpcode::kStoreElement: |
| 652 // (Object, elementtype) -> _|_ | 652 // (Object, elementtype) -> _|_ |
| 653 // TODO(rossberg): activate once machine ops are typed. | 653 // TODO(rossberg): activate once machine ops are typed. |
| 654 // CheckValueInputIs(node, 0, Type::Object()); | 654 // CheckValueInputIs(node, 0, Type::Object()); |
| 655 // CheckValueInputIs(node, 1, Element(node).type)); | 655 // CheckValueInputIs(node, 1, Element(node).type)); |
| 656 CheckNotTyped(node); | 656 CheckNotTyped(node); |
| 657 break; | 657 break; |
| 658 | 658 |
| 659 case IrOpcode::kLoadBuffer: |
| 660 break; |
| 661 case IrOpcode::kStoreBuffer: |
| 662 CheckNotTyped(node); |
| 663 break; |
| 664 case IrOpcode::kBoundsCheck: |
| 665 // (Integral32, Unsigned32) -> Unsigned32 |
| 666 // TODO(rossberg): Can we haz something that works in this file?!$*#@ |
| 667 // CheckValueInputIs(node, 0, Type::Integral32()); |
| 668 // CheckValueInputIs(node, 1, Type::Unsigned32()); |
| 669 // CheckUpperIs(node, Type::Unsigned32()); |
| 670 break; |
| 671 |
| 659 // Machine operators | 672 // Machine operators |
| 660 // ----------------------- | 673 // ----------------------- |
| 661 case IrOpcode::kLoad: | 674 case IrOpcode::kLoad: |
| 662 case IrOpcode::kStore: | 675 case IrOpcode::kStore: |
| 663 case IrOpcode::kWord32And: | 676 case IrOpcode::kWord32And: |
| 664 case IrOpcode::kWord32Or: | 677 case IrOpcode::kWord32Or: |
| 665 case IrOpcode::kWord32Xor: | 678 case IrOpcode::kWord32Xor: |
| 666 case IrOpcode::kWord32Shl: | 679 case IrOpcode::kWord32Shl: |
| 667 case IrOpcode::kWord32Shr: | 680 case IrOpcode::kWord32Shr: |
| 668 case IrOpcode::kWord32Sar: | 681 case IrOpcode::kWord32Sar: |
| (...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 968 CheckInputsDominate(schedule, block, control, | 981 CheckInputsDominate(schedule, block, control, |
| 969 static_cast<int>(block->NodeCount()) - 1); | 982 static_cast<int>(block->NodeCount()) - 1); |
| 970 } | 983 } |
| 971 // Check inputs for all nodes in the block. | 984 // Check inputs for all nodes in the block. |
| 972 for (size_t i = 0; i < block->NodeCount(); i++) { | 985 for (size_t i = 0; i < block->NodeCount(); i++) { |
| 973 Node* node = block->NodeAt(i); | 986 Node* node = block->NodeAt(i); |
| 974 CheckInputsDominate(schedule, block, node, static_cast<int>(i) - 1); | 987 CheckInputsDominate(schedule, block, node, static_cast<int>(i) - 1); |
| 975 } | 988 } |
| 976 } | 989 } |
| 977 } | 990 } |
| 978 } | 991 |
| 979 } | 992 } // namespace compiler |
| 980 } // namespace v8::internal::compiler | 993 } // namespace internal |
| 994 } // namespace v8 |
| OLD | NEW |