OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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/representation-change.h" | 5 #include "src/compiler/representation-change.h" |
6 | 6 |
7 #include <sstream> | 7 #include <sstream> |
8 | 8 |
9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" |
10 #include "src/code-factory.h" | 10 #include "src/code-factory.h" |
(...skipping 675 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
686 return machine()->Float64LessThan(); | 686 return machine()->Float64LessThan(); |
687 case IrOpcode::kNumberLessThanOrEqual: | 687 case IrOpcode::kNumberLessThanOrEqual: |
688 case IrOpcode::kSpeculativeNumberLessThanOrEqual: | 688 case IrOpcode::kSpeculativeNumberLessThanOrEqual: |
689 return machine()->Float64LessThanOrEqual(); | 689 return machine()->Float64LessThanOrEqual(); |
690 case IrOpcode::kNumberAbs: | 690 case IrOpcode::kNumberAbs: |
691 return machine()->Float64Abs(); | 691 return machine()->Float64Abs(); |
692 case IrOpcode::kNumberAtan: | 692 case IrOpcode::kNumberAtan: |
693 return machine()->Float64Atan(); | 693 return machine()->Float64Atan(); |
694 case IrOpcode::kNumberAtan2: | 694 case IrOpcode::kNumberAtan2: |
695 return machine()->Float64Atan2(); | 695 return machine()->Float64Atan2(); |
| 696 case IrOpcode::kNumberCbrt: |
| 697 return machine()->Float64Cbrt(); |
696 case IrOpcode::kNumberCos: | 698 case IrOpcode::kNumberCos: |
697 return machine()->Float64Cos(); | 699 return machine()->Float64Cos(); |
698 case IrOpcode::kNumberExp: | 700 case IrOpcode::kNumberExp: |
699 return machine()->Float64Exp(); | 701 return machine()->Float64Exp(); |
| 702 case IrOpcode::kNumberExpm1: |
| 703 return machine()->Float64Expm1(); |
700 case IrOpcode::kNumberFround: | 704 case IrOpcode::kNumberFround: |
701 return machine()->TruncateFloat64ToFloat32(); | 705 return machine()->TruncateFloat64ToFloat32(); |
702 case IrOpcode::kNumberAtanh: | 706 case IrOpcode::kNumberAtanh: |
703 return machine()->Float64Atanh(); | 707 return machine()->Float64Atanh(); |
704 case IrOpcode::kNumberLog: | 708 case IrOpcode::kNumberLog: |
705 return machine()->Float64Log(); | 709 return machine()->Float64Log(); |
706 case IrOpcode::kNumberLog1p: | 710 case IrOpcode::kNumberLog1p: |
707 return machine()->Float64Log1p(); | 711 return machine()->Float64Log1p(); |
708 case IrOpcode::kNumberLog2: | 712 case IrOpcode::kNumberLog2: |
709 return machine()->Float64Log2(); | 713 return machine()->Float64Log2(); |
710 case IrOpcode::kNumberLog10: | 714 case IrOpcode::kNumberLog10: |
711 return machine()->Float64Log10(); | 715 return machine()->Float64Log10(); |
| 716 case IrOpcode::kNumberPow: |
| 717 return machine()->Float64Pow(); |
712 case IrOpcode::kNumberSin: | 718 case IrOpcode::kNumberSin: |
713 return machine()->Float64Sin(); | 719 return machine()->Float64Sin(); |
| 720 case IrOpcode::kNumberSqrt: |
| 721 return machine()->Float64Sqrt(); |
714 case IrOpcode::kNumberTan: | 722 case IrOpcode::kNumberTan: |
715 return machine()->Float64Tan(); | 723 return machine()->Float64Tan(); |
716 case IrOpcode::kNumberSqrt: | |
717 return machine()->Float64Sqrt(); | |
718 case IrOpcode::kNumberCbrt: | |
719 return machine()->Float64Cbrt(); | |
720 case IrOpcode::kNumberExpm1: | |
721 return machine()->Float64Expm1(); | |
722 case IrOpcode::kNumberSilenceNaN: | 724 case IrOpcode::kNumberSilenceNaN: |
723 return machine()->Float64SilenceNaN(); | 725 return machine()->Float64SilenceNaN(); |
724 default: | 726 default: |
725 UNREACHABLE(); | 727 UNREACHABLE(); |
726 return nullptr; | 728 return nullptr; |
727 } | 729 } |
728 } | 730 } |
729 | 731 |
730 | 732 |
731 Node* RepresentationChanger::TypeError(Node* node, | 733 Node* RepresentationChanger::TypeError(Node* node, |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
770 } | 772 } |
771 | 773 |
772 Node* RepresentationChanger::InsertChangeTaggedToFloat64(Node* node) { | 774 Node* RepresentationChanger::InsertChangeTaggedToFloat64(Node* node) { |
773 return jsgraph()->graph()->NewNode(simplified()->ChangeTaggedToFloat64(), | 775 return jsgraph()->graph()->NewNode(simplified()->ChangeTaggedToFloat64(), |
774 node); | 776 node); |
775 } | 777 } |
776 | 778 |
777 } // namespace compiler | 779 } // namespace compiler |
778 } // namespace internal | 780 } // namespace internal |
779 } // namespace v8 | 781 } // namespace v8 |
OLD | NEW |