| 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 |