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/instruction-selector.h" | 5 #include "src/compiler/instruction-selector.h" |
6 | 6 |
7 #include <limits> | 7 #include <limits> |
8 | 8 |
9 #include "src/base/adapters.h" | 9 #include "src/base/adapters.h" |
10 #include "src/compiler/instruction-selector-impl.h" | 10 #include "src/compiler/instruction-selector-impl.h" |
(...skipping 1109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1120 case IrOpcode::kFloat64Div: | 1120 case IrOpcode::kFloat64Div: |
1121 return MarkAsFloat64(node), VisitFloat64Div(node); | 1121 return MarkAsFloat64(node), VisitFloat64Div(node); |
1122 case IrOpcode::kFloat64Mod: | 1122 case IrOpcode::kFloat64Mod: |
1123 return MarkAsFloat64(node), VisitFloat64Mod(node); | 1123 return MarkAsFloat64(node), VisitFloat64Mod(node); |
1124 case IrOpcode::kFloat64Min: | 1124 case IrOpcode::kFloat64Min: |
1125 return MarkAsFloat64(node), VisitFloat64Min(node); | 1125 return MarkAsFloat64(node), VisitFloat64Min(node); |
1126 case IrOpcode::kFloat64Max: | 1126 case IrOpcode::kFloat64Max: |
1127 return MarkAsFloat64(node), VisitFloat64Max(node); | 1127 return MarkAsFloat64(node), VisitFloat64Max(node); |
1128 case IrOpcode::kFloat64Abs: | 1128 case IrOpcode::kFloat64Abs: |
1129 return MarkAsFloat64(node), VisitFloat64Abs(node); | 1129 return MarkAsFloat64(node), VisitFloat64Abs(node); |
| 1130 case IrOpcode::kFloat64Atan: |
| 1131 return MarkAsFloat64(node), VisitFloat64Atan(node); |
| 1132 case IrOpcode::kFloat64Atan2: |
| 1133 return MarkAsFloat64(node), VisitFloat64Atan2(node); |
1130 case IrOpcode::kFloat64Log: | 1134 case IrOpcode::kFloat64Log: |
1131 return MarkAsFloat64(node), VisitFloat64Log(node); | 1135 return MarkAsFloat64(node), VisitFloat64Log(node); |
1132 case IrOpcode::kFloat64Log1p: | 1136 case IrOpcode::kFloat64Log1p: |
1133 return MarkAsFloat64(node), VisitFloat64Log1p(node); | 1137 return MarkAsFloat64(node), VisitFloat64Log1p(node); |
1134 case IrOpcode::kFloat64Sqrt: | 1138 case IrOpcode::kFloat64Sqrt: |
1135 return MarkAsFloat64(node), VisitFloat64Sqrt(node); | 1139 return MarkAsFloat64(node), VisitFloat64Sqrt(node); |
1136 case IrOpcode::kFloat64Equal: | 1140 case IrOpcode::kFloat64Equal: |
1137 return VisitFloat64Equal(node); | 1141 return VisitFloat64Equal(node); |
1138 case IrOpcode::kFloat64LessThan: | 1142 case IrOpcode::kFloat64LessThan: |
1139 return VisitFloat64LessThan(node); | 1143 return VisitFloat64LessThan(node); |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1229 void InstructionSelector::VisitLoadFramePointer(Node* node) { | 1233 void InstructionSelector::VisitLoadFramePointer(Node* node) { |
1230 OperandGenerator g(this); | 1234 OperandGenerator g(this); |
1231 Emit(kArchFramePointer, g.DefineAsRegister(node)); | 1235 Emit(kArchFramePointer, g.DefineAsRegister(node)); |
1232 } | 1236 } |
1233 | 1237 |
1234 void InstructionSelector::VisitLoadParentFramePointer(Node* node) { | 1238 void InstructionSelector::VisitLoadParentFramePointer(Node* node) { |
1235 OperandGenerator g(this); | 1239 OperandGenerator g(this); |
1236 Emit(kArchParentFramePointer, g.DefineAsRegister(node)); | 1240 Emit(kArchParentFramePointer, g.DefineAsRegister(node)); |
1237 } | 1241 } |
1238 | 1242 |
| 1243 void InstructionSelector::VisitFloat64Atan(Node* node) { |
| 1244 VisitFloat64Ieee754Unop(node, kIeee754Float64Atan); |
| 1245 } |
| 1246 |
| 1247 void InstructionSelector::VisitFloat64Atan2(Node* node) { |
| 1248 VisitFloat64Ieee754Binop(node, kIeee754Float64Atan2); |
| 1249 } |
| 1250 |
1239 void InstructionSelector::VisitFloat64Log(Node* node) { | 1251 void InstructionSelector::VisitFloat64Log(Node* node) { |
1240 VisitFloat64Ieee754Unop(node, kIeee754Float64Log); | 1252 VisitFloat64Ieee754Unop(node, kIeee754Float64Log); |
1241 } | 1253 } |
1242 | 1254 |
1243 void InstructionSelector::VisitFloat64Log1p(Node* node) { | 1255 void InstructionSelector::VisitFloat64Log1p(Node* node) { |
1244 VisitFloat64Ieee754Unop(node, kIeee754Float64Log1p); | 1256 VisitFloat64Ieee754Unop(node, kIeee754Float64Log1p); |
1245 } | 1257 } |
1246 | 1258 |
1247 void InstructionSelector::EmitTableSwitch(const SwitchInfo& sw, | 1259 void InstructionSelector::EmitTableSwitch(const SwitchInfo& sw, |
1248 InstructionOperand& index_operand) { | 1260 InstructionOperand& index_operand) { |
(...skipping 600 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1849 return new (instruction_zone()) FrameStateDescriptor( | 1861 return new (instruction_zone()) FrameStateDescriptor( |
1850 instruction_zone(), state_info.type(), state_info.bailout_id(), | 1862 instruction_zone(), state_info.type(), state_info.bailout_id(), |
1851 state_info.state_combine(), parameters, locals, stack, | 1863 state_info.state_combine(), parameters, locals, stack, |
1852 state_info.shared_info(), outer_state); | 1864 state_info.shared_info(), outer_state); |
1853 } | 1865 } |
1854 | 1866 |
1855 | 1867 |
1856 } // namespace compiler | 1868 } // namespace compiler |
1857 } // namespace internal | 1869 } // namespace internal |
1858 } // namespace v8 | 1870 } // namespace v8 |
OLD | NEW |