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 552 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
563 | 563 |
564 case IrOpcode::kJSToBoolean: | 564 case IrOpcode::kJSToBoolean: |
565 // Type is Boolean. | 565 // Type is Boolean. |
566 CheckTypeIs(node, Type::Boolean()); | 566 CheckTypeIs(node, Type::Boolean()); |
567 break; | 567 break; |
568 case IrOpcode::kJSToInteger: | 568 case IrOpcode::kJSToInteger: |
569 // Type is OrderedNumber. | 569 // Type is OrderedNumber. |
570 CheckTypeIs(node, Type::OrderedNumber()); | 570 CheckTypeIs(node, Type::OrderedNumber()); |
571 break; | 571 break; |
572 case IrOpcode::kJSToLength: | 572 case IrOpcode::kJSToLength: |
573 // Type is OrderedNumber. | 573 CheckTypeIs(node, Type::Range(0, kMaxSafeInteger, zone)); |
574 CheckTypeIs(node, Type::OrderedNumber()); | |
575 break; | 574 break; |
576 case IrOpcode::kJSToName: | 575 case IrOpcode::kJSToName: |
577 // Type is Name. | 576 // Type is Name. |
578 CheckTypeIs(node, Type::Name()); | 577 CheckTypeIs(node, Type::Name()); |
579 break; | 578 break; |
580 case IrOpcode::kJSToNumber: | 579 case IrOpcode::kJSToNumber: |
581 // Type is Number. | 580 // Type is Number. |
582 CheckTypeIs(node, Type::Number()); | 581 CheckTypeIs(node, Type::Number()); |
583 break; | 582 break; |
584 case IrOpcode::kJSToString: | 583 case IrOpcode::kJSToString: |
(...skipping 1160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1745 replacement->op()->EffectOutputCount() > 0); | 1744 replacement->op()->EffectOutputCount() > 0); |
1746 DCHECK(!NodeProperties::IsFrameStateEdge(edge) || | 1745 DCHECK(!NodeProperties::IsFrameStateEdge(edge) || |
1747 replacement->opcode() == IrOpcode::kFrameState); | 1746 replacement->opcode() == IrOpcode::kFrameState); |
1748 } | 1747 } |
1749 | 1748 |
1750 #endif // DEBUG | 1749 #endif // DEBUG |
1751 | 1750 |
1752 } // namespace compiler | 1751 } // namespace compiler |
1753 } // namespace internal | 1752 } // namespace internal |
1754 } // namespace v8 | 1753 } // namespace v8 |
OLD | NEW |