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 778 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
789 } | 789 } |
790 case IrOpcode::kChangeTaggedToFloat64: { | 790 case IrOpcode::kChangeTaggedToFloat64: { |
791 // Number /\ Tagged -> Number /\ UntaggedFloat64 | 791 // Number /\ Tagged -> Number /\ UntaggedFloat64 |
792 // TODO(neis): Activate once ChangeRepresentation works in typer. | 792 // TODO(neis): Activate once ChangeRepresentation works in typer. |
793 // Type* from = Type::Intersect(Type::Number(), Type::Tagged()); | 793 // Type* from = Type::Intersect(Type::Number(), Type::Tagged()); |
794 // Type* to = Type::Intersect(Type::Number(), Type::UntaggedFloat64()); | 794 // Type* to = Type::Intersect(Type::Number(), Type::UntaggedFloat64()); |
795 // CheckValueInputIs(node, 0, from)); | 795 // CheckValueInputIs(node, 0, from)); |
796 // CheckUpperIs(node, to)); | 796 // CheckUpperIs(node, to)); |
797 break; | 797 break; |
798 } | 798 } |
| 799 case IrOpcode::kChangeInt31ToTagged: { |
| 800 // Signed31 /\ UntaggedInt32 -> Signed31 /\ Tagged |
| 801 // TODO(neis): Activate once ChangeRepresentation works in typer. |
| 802 // Type* from =Type::Intersect(Type::Signed31(), Type::UntaggedInt32()); |
| 803 // Type* to = Type::Intersect(Type::Signed31(), Type::Tagged()); |
| 804 // CheckValueInputIs(node, 0, from)); |
| 805 // CheckUpperIs(node, to)); |
| 806 break; |
| 807 } |
799 case IrOpcode::kChangeInt32ToTagged: { | 808 case IrOpcode::kChangeInt32ToTagged: { |
800 // Signed32 /\ UntaggedInt32 -> Signed32 /\ Tagged | 809 // Signed32 /\ UntaggedInt32 -> Signed32 /\ Tagged |
801 // TODO(neis): Activate once ChangeRepresentation works in typer. | 810 // TODO(neis): Activate once ChangeRepresentation works in typer. |
802 // Type* from =Type::Intersect(Type::Signed32(), Type::UntaggedInt32()); | 811 // Type* from =Type::Intersect(Type::Signed32(), Type::UntaggedInt32()); |
803 // Type* to = Type::Intersect(Type::Signed32(), Type::Tagged()); | 812 // Type* to = Type::Intersect(Type::Signed32(), Type::Tagged()); |
804 // CheckValueInputIs(node, 0, from)); | 813 // CheckValueInputIs(node, 0, from)); |
805 // CheckUpperIs(node, to)); | 814 // CheckUpperIs(node, to)); |
806 break; | 815 break; |
807 } | 816 } |
808 case IrOpcode::kChangeUint32ToTagged: { | 817 case IrOpcode::kChangeUint32ToTagged: { |
(...skipping 520 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1329 replacement->op()->EffectOutputCount() > 0); | 1338 replacement->op()->EffectOutputCount() > 0); |
1330 DCHECK(!NodeProperties::IsFrameStateEdge(edge) || | 1339 DCHECK(!NodeProperties::IsFrameStateEdge(edge) || |
1331 replacement->opcode() == IrOpcode::kFrameState); | 1340 replacement->opcode() == IrOpcode::kFrameState); |
1332 } | 1341 } |
1333 | 1342 |
1334 #endif // DEBUG | 1343 #endif // DEBUG |
1335 | 1344 |
1336 } // namespace compiler | 1345 } // namespace compiler |
1337 } // namespace internal | 1346 } // namespace internal |
1338 } // namespace v8 | 1347 } // namespace v8 |
OLD | NEW |