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 548 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
559 // Type is Context, and operand is Internal. | 559 // Type is Context, and operand is Internal. |
560 Node* context = NodeProperties::GetContextInput(node); | 560 Node* context = NodeProperties::GetContextInput(node); |
561 // TODO(rossberg): This should really be Is(Internal), but the typer | 561 // TODO(rossberg): This should really be Is(Internal), but the typer |
562 // currently can't do backwards propagation. | 562 // currently can't do backwards propagation. |
563 CheckUpperMaybe(context, Type::Internal()); | 563 CheckUpperMaybe(context, Type::Internal()); |
564 if (typing == TYPED) CHECK(NodeProperties::GetType(node)->IsContext()); | 564 if (typing == TYPED) CHECK(NodeProperties::GetType(node)->IsContext()); |
565 break; | 565 break; |
566 } | 566 } |
567 | 567 |
568 case IrOpcode::kJSCallConstruct: | 568 case IrOpcode::kJSCallConstruct: |
| 569 case IrOpcode::kJSConvertReceiver: |
569 // Type is Receiver. | 570 // Type is Receiver. |
570 CheckUpperIs(node, Type::Receiver()); | 571 CheckUpperIs(node, Type::Receiver()); |
571 break; | 572 break; |
572 case IrOpcode::kJSCallFunction: | 573 case IrOpcode::kJSCallFunction: |
573 case IrOpcode::kJSCallRuntime: | 574 case IrOpcode::kJSCallRuntime: |
574 case IrOpcode::kJSYield: | 575 case IrOpcode::kJSYield: |
575 // Type can be anything. | 576 // Type can be anything. |
576 CheckUpperIs(node, Type::Any()); | 577 CheckUpperIs(node, Type::Any()); |
577 break; | 578 break; |
578 | 579 |
(...skipping 631 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1210 replacement->op()->EffectOutputCount() > 0); | 1211 replacement->op()->EffectOutputCount() > 0); |
1211 DCHECK(!NodeProperties::IsFrameStateEdge(edge) || | 1212 DCHECK(!NodeProperties::IsFrameStateEdge(edge) || |
1212 replacement->opcode() == IrOpcode::kFrameState); | 1213 replacement->opcode() == IrOpcode::kFrameState); |
1213 } | 1214 } |
1214 | 1215 |
1215 #endif // DEBUG | 1216 #endif // DEBUG |
1216 | 1217 |
1217 } // namespace compiler | 1218 } // namespace compiler |
1218 } // namespace internal | 1219 } // namespace internal |
1219 } // namespace v8 | 1220 } // namespace v8 |
OLD | NEW |