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/simplified-lowering.h" | 5 #include "src/compiler/simplified-lowering.h" |
6 | 6 |
7 #include <deque> | 7 #include <deque> |
8 #include <queue> | 8 #include <queue> |
9 | 9 |
10 #include "src/compiler/common-operator.h" | 10 #include "src/compiler/common-operator.h" |
(...skipping 609 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
620 case IrOpcode::kWord64And: | 620 case IrOpcode::kWord64And: |
621 case IrOpcode::kWord64Or: | 621 case IrOpcode::kWord64Or: |
622 case IrOpcode::kWord64Xor: | 622 case IrOpcode::kWord64Xor: |
623 case IrOpcode::kWord64Shl: | 623 case IrOpcode::kWord64Shl: |
624 case IrOpcode::kWord64Shr: | 624 case IrOpcode::kWord64Shr: |
625 case IrOpcode::kWord64Sar: | 625 case IrOpcode::kWord64Sar: |
626 return VisitBinop(node, kRepWord64, kRepWord64); | 626 return VisitBinop(node, kRepWord64, kRepWord64); |
627 case IrOpcode::kWord64Equal: | 627 case IrOpcode::kWord64Equal: |
628 return VisitBinop(node, kRepWord64, kRepBit); | 628 return VisitBinop(node, kRepWord64, kRepBit); |
629 | 629 |
630 case IrOpcode::kConvertInt32ToInt64: | 630 case IrOpcode::kChangeInt32ToInt64: |
631 return VisitUnop(node, kTypeInt32 | kRepWord32, | 631 return VisitUnop(node, kTypeInt32 | kRepWord32, |
632 kTypeInt32 | kRepWord64); | 632 kTypeInt64 | kRepWord64); |
Jarin
2014/08/19 08:46:36
Why did you change the type to kTypeInt64 here?
Benedikt Meurer
2014/08/19 08:48:07
Because the output of ChangeInt32ToInt64 is an int
| |
633 case IrOpcode::kConvertInt64ToInt32: | 633 case IrOpcode::kChangeUint32ToUint64: |
634 return VisitUnop(node, kTypeUint32 | kRepWord32, | |
635 kTypeUint64 | kRepWord64); | |
636 case IrOpcode::kTruncateInt64ToInt32: | |
634 return VisitUnop(node, kTypeInt64 | kRepWord64, | 637 return VisitUnop(node, kTypeInt64 | kRepWord64, |
635 kTypeInt32 | kRepWord32); | 638 kTypeInt32 | kRepWord32); |
636 | 639 |
637 case IrOpcode::kChangeInt32ToFloat64: | 640 case IrOpcode::kChangeInt32ToFloat64: |
638 return VisitUnop(node, kTypeInt32 | kRepWord32, | 641 return VisitUnop(node, kTypeInt32 | kRepWord32, |
639 kTypeInt32 | kRepFloat64); | 642 kTypeInt32 | kRepFloat64); |
640 case IrOpcode::kChangeUint32ToFloat64: | 643 case IrOpcode::kChangeUint32ToFloat64: |
641 return VisitUnop(node, kTypeUint32 | kRepWord32, | 644 return VisitUnop(node, kTypeUint32 | kRepWord32, |
642 kTypeUint32 | kRepFloat64); | 645 kTypeUint32 | kRepFloat64); |
643 case IrOpcode::kChangeFloat64ToInt32: | 646 case IrOpcode::kChangeFloat64ToInt32: |
(...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
996 break; | 999 break; |
997 default: | 1000 default: |
998 UNREACHABLE(); | 1001 UNREACHABLE(); |
999 break; | 1002 break; |
1000 } | 1003 } |
1001 } | 1004 } |
1002 | 1005 |
1003 } // namespace compiler | 1006 } // namespace compiler |
1004 } // namespace internal | 1007 } // namespace internal |
1005 } // namespace v8 | 1008 } // namespace v8 |
OLD | NEW |