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 701 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
712 case IrOpcode::kNumberAsinh: | 712 case IrOpcode::kNumberAsinh: |
713 return machine()->Float64Asinh(); | 713 return machine()->Float64Asinh(); |
714 case IrOpcode::kNumberAtan: | 714 case IrOpcode::kNumberAtan: |
715 return machine()->Float64Atan(); | 715 return machine()->Float64Atan(); |
716 case IrOpcode::kNumberAtanh: | 716 case IrOpcode::kNumberAtanh: |
717 return machine()->Float64Atanh(); | 717 return machine()->Float64Atanh(); |
718 case IrOpcode::kNumberAtan2: | 718 case IrOpcode::kNumberAtan2: |
719 return machine()->Float64Atan2(); | 719 return machine()->Float64Atan2(); |
720 case IrOpcode::kNumberCbrt: | 720 case IrOpcode::kNumberCbrt: |
721 return machine()->Float64Cbrt(); | 721 return machine()->Float64Cbrt(); |
| 722 case IrOpcode::kNumberCeil: |
| 723 return machine()->Float64RoundUp().placeholder(); |
722 case IrOpcode::kNumberCos: | 724 case IrOpcode::kNumberCos: |
723 return machine()->Float64Cos(); | 725 return machine()->Float64Cos(); |
724 case IrOpcode::kNumberCosh: | 726 case IrOpcode::kNumberCosh: |
725 return machine()->Float64Cosh(); | 727 return machine()->Float64Cosh(); |
726 case IrOpcode::kNumberExp: | 728 case IrOpcode::kNumberExp: |
727 return machine()->Float64Exp(); | 729 return machine()->Float64Exp(); |
728 case IrOpcode::kNumberExpm1: | 730 case IrOpcode::kNumberExpm1: |
729 return machine()->Float64Expm1(); | 731 return machine()->Float64Expm1(); |
| 732 case IrOpcode::kNumberFloor: |
| 733 return machine()->Float64RoundDown().placeholder(); |
730 case IrOpcode::kNumberFround: | 734 case IrOpcode::kNumberFround: |
731 return machine()->TruncateFloat64ToFloat32(); | 735 return machine()->TruncateFloat64ToFloat32(); |
732 case IrOpcode::kNumberLog: | 736 case IrOpcode::kNumberLog: |
733 return machine()->Float64Log(); | 737 return machine()->Float64Log(); |
734 case IrOpcode::kNumberLog1p: | 738 case IrOpcode::kNumberLog1p: |
735 return machine()->Float64Log1p(); | 739 return machine()->Float64Log1p(); |
736 case IrOpcode::kNumberLog2: | 740 case IrOpcode::kNumberLog2: |
737 return machine()->Float64Log2(); | 741 return machine()->Float64Log2(); |
738 case IrOpcode::kNumberLog10: | 742 case IrOpcode::kNumberLog10: |
739 return machine()->Float64Log10(); | 743 return machine()->Float64Log10(); |
740 case IrOpcode::kNumberMax: | 744 case IrOpcode::kNumberMax: |
741 return machine()->Float64Max(); | 745 return machine()->Float64Max(); |
742 case IrOpcode::kNumberMin: | 746 case IrOpcode::kNumberMin: |
743 return machine()->Float64Min(); | 747 return machine()->Float64Min(); |
744 case IrOpcode::kNumberPow: | 748 case IrOpcode::kNumberPow: |
745 return machine()->Float64Pow(); | 749 return machine()->Float64Pow(); |
746 case IrOpcode::kNumberSin: | 750 case IrOpcode::kNumberSin: |
747 return machine()->Float64Sin(); | 751 return machine()->Float64Sin(); |
748 case IrOpcode::kNumberSinh: | 752 case IrOpcode::kNumberSinh: |
749 return machine()->Float64Sinh(); | 753 return machine()->Float64Sinh(); |
750 case IrOpcode::kNumberSqrt: | 754 case IrOpcode::kNumberSqrt: |
751 return machine()->Float64Sqrt(); | 755 return machine()->Float64Sqrt(); |
752 case IrOpcode::kNumberTan: | 756 case IrOpcode::kNumberTan: |
753 return machine()->Float64Tan(); | 757 return machine()->Float64Tan(); |
754 case IrOpcode::kNumberTanh: | 758 case IrOpcode::kNumberTanh: |
755 return machine()->Float64Tanh(); | 759 return machine()->Float64Tanh(); |
| 760 case IrOpcode::kNumberTrunc: |
| 761 return machine()->Float64RoundTruncate().placeholder(); |
756 case IrOpcode::kNumberSilenceNaN: | 762 case IrOpcode::kNumberSilenceNaN: |
757 return machine()->Float64SilenceNaN(); | 763 return machine()->Float64SilenceNaN(); |
758 default: | 764 default: |
759 UNREACHABLE(); | 765 UNREACHABLE(); |
760 return nullptr; | 766 return nullptr; |
761 } | 767 } |
762 } | 768 } |
763 | 769 |
764 | 770 |
765 Node* RepresentationChanger::TypeError(Node* node, | 771 Node* RepresentationChanger::TypeError(Node* node, |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
804 } | 810 } |
805 | 811 |
806 Node* RepresentationChanger::InsertChangeTaggedToFloat64(Node* node) { | 812 Node* RepresentationChanger::InsertChangeTaggedToFloat64(Node* node) { |
807 return jsgraph()->graph()->NewNode(simplified()->ChangeTaggedToFloat64(), | 813 return jsgraph()->graph()->NewNode(simplified()->ChangeTaggedToFloat64(), |
808 node); | 814 node); |
809 } | 815 } |
810 | 816 |
811 } // namespace compiler | 817 } // namespace compiler |
812 } // namespace internal | 818 } // namespace internal |
813 } // namespace v8 | 819 } // namespace v8 |
OLD | NEW |