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 472 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
483 for (int i = 0; i < 3; ++i) { | 483 for (int i = 0; i < 3; ++i) { |
484 CHECK(NodeProperties::GetValueInput(node, i)->opcode() == | 484 CHECK(NodeProperties::GetValueInput(node, i)->opcode() == |
485 IrOpcode::kStateValues || | 485 IrOpcode::kStateValues || |
486 NodeProperties::GetValueInput(node, i)->opcode() == | 486 NodeProperties::GetValueInput(node, i)->opcode() == |
487 IrOpcode::kTypedStateValues); | 487 IrOpcode::kTypedStateValues); |
488 } | 488 } |
489 break; | 489 break; |
490 } | 490 } |
491 case IrOpcode::kStateValues: | 491 case IrOpcode::kStateValues: |
492 case IrOpcode::kTypedStateValues: | 492 case IrOpcode::kTypedStateValues: |
| 493 case IrOpcode::kArgumentsObjectState: |
493 case IrOpcode::kObjectState: | 494 case IrOpcode::kObjectState: |
494 case IrOpcode::kTypedObjectState: | 495 case IrOpcode::kTypedObjectState: |
495 // TODO(jarin): what are the constraints on these? | 496 // TODO(jarin): what are the constraints on these? |
496 break; | 497 break; |
497 case IrOpcode::kCall: | 498 case IrOpcode::kCall: |
498 // TODO(rossberg): what are the constraints on these? | 499 // TODO(rossberg): what are the constraints on these? |
499 break; | 500 break; |
500 case IrOpcode::kTailCall: | 501 case IrOpcode::kTailCall: |
501 // TODO(bmeurer): what are the constraints on these? | 502 // TODO(bmeurer): what are the constraints on these? |
502 break; | 503 break; |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
673 CheckTypeIs(node, Type::OtherInternal()); | 674 CheckTypeIs(node, Type::OtherInternal()); |
674 break; | 675 break; |
675 } | 676 } |
676 | 677 |
677 case IrOpcode::kJSCallConstruct: | 678 case IrOpcode::kJSCallConstruct: |
678 case IrOpcode::kJSCallConstructWithSpread: | 679 case IrOpcode::kJSCallConstructWithSpread: |
679 case IrOpcode::kJSConvertReceiver: | 680 case IrOpcode::kJSConvertReceiver: |
680 // Type is Receiver. | 681 // Type is Receiver. |
681 CheckTypeIs(node, Type::Receiver()); | 682 CheckTypeIs(node, Type::Receiver()); |
682 break; | 683 break; |
| 684 case IrOpcode::kJSCallForwardVarargs: |
683 case IrOpcode::kJSCallFunction: | 685 case IrOpcode::kJSCallFunction: |
684 case IrOpcode::kJSCallFunctionWithSpread: | 686 case IrOpcode::kJSCallFunctionWithSpread: |
685 case IrOpcode::kJSCallRuntime: | 687 case IrOpcode::kJSCallRuntime: |
686 // Type can be anything. | 688 // Type can be anything. |
687 CheckTypeIs(node, Type::Any()); | 689 CheckTypeIs(node, Type::Any()); |
688 break; | 690 break; |
689 | 691 |
690 case IrOpcode::kJSForInPrepare: { | 692 case IrOpcode::kJSForInPrepare: { |
691 // TODO(bmeurer): What are the constraints on thse? | 693 // TODO(bmeurer): What are the constraints on thse? |
692 CheckTypeIs(node, Type::Any()); | 694 CheckTypeIs(node, Type::Any()); |
(...skipping 995 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1688 replacement->op()->EffectOutputCount() > 0); | 1690 replacement->op()->EffectOutputCount() > 0); |
1689 DCHECK(!NodeProperties::IsFrameStateEdge(edge) || | 1691 DCHECK(!NodeProperties::IsFrameStateEdge(edge) || |
1690 replacement->opcode() == IrOpcode::kFrameState); | 1692 replacement->opcode() == IrOpcode::kFrameState); |
1691 } | 1693 } |
1692 | 1694 |
1693 #endif // DEBUG | 1695 #endif // DEBUG |
1694 | 1696 |
1695 } // namespace compiler | 1697 } // namespace compiler |
1696 } // namespace internal | 1698 } // namespace internal |
1697 } // namespace v8 | 1699 } // namespace v8 |
OLD | NEW |