| 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 <limits> | 7 #include <limits> |
| 8 | 8 |
| 9 #include "src/address-map.h" | 9 #include "src/address-map.h" |
| 10 #include "src/base/bits.h" | 10 #include "src/base/bits.h" |
| (...skipping 1778 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1789 case IrOpcode::kFloat64Min: | 1789 case IrOpcode::kFloat64Min: |
| 1790 return VisitFloat64Binop(node); | 1790 return VisitFloat64Binop(node); |
| 1791 case IrOpcode::kFloat64Abs: | 1791 case IrOpcode::kFloat64Abs: |
| 1792 case IrOpcode::kFloat64Sqrt: | 1792 case IrOpcode::kFloat64Sqrt: |
| 1793 case IrOpcode::kFloat64RoundDown: | 1793 case IrOpcode::kFloat64RoundDown: |
| 1794 case IrOpcode::kFloat64RoundTruncate: | 1794 case IrOpcode::kFloat64RoundTruncate: |
| 1795 case IrOpcode::kFloat64RoundTiesAway: | 1795 case IrOpcode::kFloat64RoundTiesAway: |
| 1796 case IrOpcode::kFloat64RoundUp: | 1796 case IrOpcode::kFloat64RoundUp: |
| 1797 return VisitUnop(node, UseInfo::TruncatingFloat64(), | 1797 return VisitUnop(node, UseInfo::TruncatingFloat64(), |
| 1798 MachineRepresentation::kFloat64); | 1798 MachineRepresentation::kFloat64); |
| 1799 case IrOpcode::kFloat64SilenceNaN: |
| 1800 return VisitUnop(node, UseInfo::TruncatingFloat64(), |
| 1801 MachineRepresentation::kFloat64); |
| 1799 case IrOpcode::kFloat64Equal: | 1802 case IrOpcode::kFloat64Equal: |
| 1800 case IrOpcode::kFloat64LessThan: | 1803 case IrOpcode::kFloat64LessThan: |
| 1801 case IrOpcode::kFloat64LessThanOrEqual: | 1804 case IrOpcode::kFloat64LessThanOrEqual: |
| 1802 return VisitFloat64Cmp(node); | 1805 return VisitFloat64Cmp(node); |
| 1803 case IrOpcode::kFloat64ExtractLowWord32: | 1806 case IrOpcode::kFloat64ExtractLowWord32: |
| 1804 case IrOpcode::kFloat64ExtractHighWord32: | 1807 case IrOpcode::kFloat64ExtractHighWord32: |
| 1805 return VisitUnop(node, UseInfo::TruncatingFloat64(), | 1808 return VisitUnop(node, UseInfo::TruncatingFloat64(), |
| 1806 MachineRepresentation::kWord32); | 1809 MachineRepresentation::kWord32); |
| 1807 case IrOpcode::kFloat64InsertLowWord32: | 1810 case IrOpcode::kFloat64InsertLowWord32: |
| 1808 case IrOpcode::kFloat64InsertHighWord32: | 1811 case IrOpcode::kFloat64InsertHighWord32: |
| 1809 return VisitBinop(node, UseInfo::TruncatingFloat64(), | 1812 return VisitBinop(node, UseInfo::TruncatingFloat64(), |
| 1810 UseInfo::TruncatingWord32(), | 1813 UseInfo::TruncatingWord32(), |
| 1811 MachineRepresentation::kFloat64); | 1814 MachineRepresentation::kFloat64); |
| 1815 case IrOpcode::kNumberSilenceNaN: |
| 1816 VisitUnop(node, UseInfo::TruncatingFloat64(), |
| 1817 MachineRepresentation::kFloat64); |
| 1818 if (lower()) NodeProperties::ChangeOp(node, Float64Op(node)); |
| 1819 return; |
| 1812 case IrOpcode::kLoadStackPointer: | 1820 case IrOpcode::kLoadStackPointer: |
| 1813 case IrOpcode::kLoadFramePointer: | 1821 case IrOpcode::kLoadFramePointer: |
| 1814 case IrOpcode::kLoadParentFramePointer: | 1822 case IrOpcode::kLoadParentFramePointer: |
| 1815 return VisitLeaf(node, MachineType::PointerRepresentation()); | 1823 return VisitLeaf(node, MachineType::PointerRepresentation()); |
| 1816 case IrOpcode::kStateValues: | 1824 case IrOpcode::kStateValues: |
| 1817 return VisitStateValues(node); | 1825 return VisitStateValues(node); |
| 1818 | 1826 |
| 1819 // The following opcodes are not produced before representation | 1827 // The following opcodes are not produced before representation |
| 1820 // inference runs, so we do not have any real test coverage. | 1828 // inference runs, so we do not have any real test coverage. |
| 1821 // Simply fail here. | 1829 // Simply fail here. |
| (...skipping 1018 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2840 isolate(), graph()->zone(), callable.descriptor(), 0, flags, | 2848 isolate(), graph()->zone(), callable.descriptor(), 0, flags, |
| 2841 Operator::kNoProperties); | 2849 Operator::kNoProperties); |
| 2842 to_number_operator_.set(common()->Call(desc)); | 2850 to_number_operator_.set(common()->Call(desc)); |
| 2843 } | 2851 } |
| 2844 return to_number_operator_.get(); | 2852 return to_number_operator_.get(); |
| 2845 } | 2853 } |
| 2846 | 2854 |
| 2847 } // namespace compiler | 2855 } // namespace compiler |
| 2848 } // namespace internal | 2856 } // namespace internal |
| 2849 } // namespace v8 | 2857 } // namespace v8 |
| OLD | NEW |