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 752 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
763 case IrOpcode::kNumberToUint32: | 763 case IrOpcode::kNumberToUint32: |
764 // Number -> Unsigned32 | 764 // Number -> Unsigned32 |
765 CheckValueInputIs(node, 0, Type::NumberOrUndefined()); | 765 CheckValueInputIs(node, 0, Type::NumberOrUndefined()); |
766 CheckUpperIs(node, Type::Unsigned32()); | 766 CheckUpperIs(node, Type::Unsigned32()); |
767 break; | 767 break; |
768 case IrOpcode::kNumberIsHoleNaN: | 768 case IrOpcode::kNumberIsHoleNaN: |
769 // Number -> Boolean | 769 // Number -> Boolean |
770 CheckValueInputIs(node, 0, Type::Number()); | 770 CheckValueInputIs(node, 0, Type::Number()); |
771 CheckUpperIs(node, Type::Boolean()); | 771 CheckUpperIs(node, Type::Boolean()); |
772 break; | 772 break; |
| 773 case IrOpcode::kNumberConvertHoleNaN: |
| 774 // Number -> Number \/ Undefined |
| 775 CheckValueInputIs(node, 0, Type::Number()); |
| 776 CheckUpperIs(node, Type::NumberOrUndefined()); |
| 777 break; |
773 case IrOpcode::kPlainPrimitiveToNumber: | 778 case IrOpcode::kPlainPrimitiveToNumber: |
774 // Type is Number. | 779 // Type is Number. |
775 CheckUpperIs(node, Type::Number()); | 780 CheckUpperIs(node, Type::Number()); |
776 break; | 781 break; |
777 case IrOpcode::kPlainPrimitiveToWord32: | 782 case IrOpcode::kPlainPrimitiveToWord32: |
778 CheckUpperIs(node, Type::Number()); | 783 CheckUpperIs(node, Type::Number()); |
779 break; | 784 break; |
780 case IrOpcode::kPlainPrimitiveToFloat64: | 785 case IrOpcode::kPlainPrimitiveToFloat64: |
781 CheckUpperIs(node, Type::Number()); | 786 CheckUpperIs(node, Type::Number()); |
782 break; | 787 break; |
(...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1446 replacement->op()->EffectOutputCount() > 0); | 1451 replacement->op()->EffectOutputCount() > 0); |
1447 DCHECK(!NodeProperties::IsFrameStateEdge(edge) || | 1452 DCHECK(!NodeProperties::IsFrameStateEdge(edge) || |
1448 replacement->opcode() == IrOpcode::kFrameState); | 1453 replacement->opcode() == IrOpcode::kFrameState); |
1449 } | 1454 } |
1450 | 1455 |
1451 #endif // DEBUG | 1456 #endif // DEBUG |
1452 | 1457 |
1453 } // namespace compiler | 1458 } // namespace compiler |
1454 } // namespace internal | 1459 } // namespace internal |
1455 } // namespace v8 | 1460 } // namespace v8 |
OLD | NEW |