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 1130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1141 case IrOpcode::kFloat64Div: | 1141 case IrOpcode::kFloat64Div: |
1142 return MarkAsFloat64(node), VisitFloat64Div(node); | 1142 return MarkAsFloat64(node), VisitFloat64Div(node); |
1143 case IrOpcode::kFloat64Mod: | 1143 case IrOpcode::kFloat64Mod: |
1144 return MarkAsFloat64(node), VisitFloat64Mod(node); | 1144 return MarkAsFloat64(node), VisitFloat64Mod(node); |
1145 case IrOpcode::kFloat64Min: | 1145 case IrOpcode::kFloat64Min: |
1146 return MarkAsFloat64(node), VisitFloat64Min(node); | 1146 return MarkAsFloat64(node), VisitFloat64Min(node); |
1147 case IrOpcode::kFloat64Max: | 1147 case IrOpcode::kFloat64Max: |
1148 return MarkAsFloat64(node), VisitFloat64Max(node); | 1148 return MarkAsFloat64(node), VisitFloat64Max(node); |
1149 case IrOpcode::kFloat64Abs: | 1149 case IrOpcode::kFloat64Abs: |
1150 return MarkAsFloat64(node), VisitFloat64Abs(node); | 1150 return MarkAsFloat64(node), VisitFloat64Abs(node); |
| 1151 case IrOpcode::kFloat64Acos: |
| 1152 return MarkAsFloat64(node), VisitFloat64Acos(node); |
| 1153 case IrOpcode::kFloat64Acosh: |
| 1154 return MarkAsFloat64(node), VisitFloat64Acosh(node); |
| 1155 case IrOpcode::kFloat64Asin: |
| 1156 return MarkAsFloat64(node), VisitFloat64Asin(node); |
| 1157 case IrOpcode::kFloat64Asinh: |
| 1158 return MarkAsFloat64(node), VisitFloat64Asinh(node); |
1151 case IrOpcode::kFloat64Atan: | 1159 case IrOpcode::kFloat64Atan: |
1152 return MarkAsFloat64(node), VisitFloat64Atan(node); | 1160 return MarkAsFloat64(node), VisitFloat64Atan(node); |
| 1161 case IrOpcode::kFloat64Atanh: |
| 1162 return MarkAsFloat64(node), VisitFloat64Atanh(node); |
1153 case IrOpcode::kFloat64Atan2: | 1163 case IrOpcode::kFloat64Atan2: |
1154 return MarkAsFloat64(node), VisitFloat64Atan2(node); | 1164 return MarkAsFloat64(node), VisitFloat64Atan2(node); |
1155 case IrOpcode::kFloat64Atanh: | |
1156 return MarkAsFloat64(node), VisitFloat64Atanh(node); | |
1157 case IrOpcode::kFloat64Cbrt: | 1165 case IrOpcode::kFloat64Cbrt: |
1158 return MarkAsFloat64(node), VisitFloat64Cbrt(node); | 1166 return MarkAsFloat64(node), VisitFloat64Cbrt(node); |
1159 case IrOpcode::kFloat64Cos: | 1167 case IrOpcode::kFloat64Cos: |
1160 return MarkAsFloat64(node), VisitFloat64Cos(node); | 1168 return MarkAsFloat64(node), VisitFloat64Cos(node); |
1161 case IrOpcode::kFloat64Cosh: | 1169 case IrOpcode::kFloat64Cosh: |
1162 return MarkAsFloat64(node), VisitFloat64Cosh(node); | 1170 return MarkAsFloat64(node), VisitFloat64Cosh(node); |
1163 case IrOpcode::kFloat64Exp: | 1171 case IrOpcode::kFloat64Exp: |
1164 return MarkAsFloat64(node), VisitFloat64Exp(node); | 1172 return MarkAsFloat64(node), VisitFloat64Exp(node); |
1165 case IrOpcode::kFloat64Expm1: | 1173 case IrOpcode::kFloat64Expm1: |
1166 return MarkAsFloat64(node), VisitFloat64Expm1(node); | 1174 return MarkAsFloat64(node), VisitFloat64Expm1(node); |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1280 void InstructionSelector::VisitLoadFramePointer(Node* node) { | 1288 void InstructionSelector::VisitLoadFramePointer(Node* node) { |
1281 OperandGenerator g(this); | 1289 OperandGenerator g(this); |
1282 Emit(kArchFramePointer, g.DefineAsRegister(node)); | 1290 Emit(kArchFramePointer, g.DefineAsRegister(node)); |
1283 } | 1291 } |
1284 | 1292 |
1285 void InstructionSelector::VisitLoadParentFramePointer(Node* node) { | 1293 void InstructionSelector::VisitLoadParentFramePointer(Node* node) { |
1286 OperandGenerator g(this); | 1294 OperandGenerator g(this); |
1287 Emit(kArchParentFramePointer, g.DefineAsRegister(node)); | 1295 Emit(kArchParentFramePointer, g.DefineAsRegister(node)); |
1288 } | 1296 } |
1289 | 1297 |
| 1298 void InstructionSelector::VisitFloat64Acos(Node* node) { |
| 1299 VisitFloat64Ieee754Unop(node, kIeee754Float64Acos); |
| 1300 } |
| 1301 |
| 1302 void InstructionSelector::VisitFloat64Acosh(Node* node) { |
| 1303 VisitFloat64Ieee754Unop(node, kIeee754Float64Acosh); |
| 1304 } |
| 1305 |
| 1306 void InstructionSelector::VisitFloat64Asin(Node* node) { |
| 1307 VisitFloat64Ieee754Unop(node, kIeee754Float64Asin); |
| 1308 } |
| 1309 |
| 1310 void InstructionSelector::VisitFloat64Asinh(Node* node) { |
| 1311 VisitFloat64Ieee754Unop(node, kIeee754Float64Asinh); |
| 1312 } |
| 1313 |
1290 void InstructionSelector::VisitFloat64Atan(Node* node) { | 1314 void InstructionSelector::VisitFloat64Atan(Node* node) { |
1291 VisitFloat64Ieee754Unop(node, kIeee754Float64Atan); | 1315 VisitFloat64Ieee754Unop(node, kIeee754Float64Atan); |
1292 } | 1316 } |
1293 | 1317 |
| 1318 void InstructionSelector::VisitFloat64Atanh(Node* node) { |
| 1319 VisitFloat64Ieee754Unop(node, kIeee754Float64Atanh); |
| 1320 } |
| 1321 |
1294 void InstructionSelector::VisitFloat64Atan2(Node* node) { | 1322 void InstructionSelector::VisitFloat64Atan2(Node* node) { |
1295 VisitFloat64Ieee754Binop(node, kIeee754Float64Atan2); | 1323 VisitFloat64Ieee754Binop(node, kIeee754Float64Atan2); |
1296 } | 1324 } |
1297 | 1325 |
1298 void InstructionSelector::VisitFloat64Atanh(Node* node) { | |
1299 VisitFloat64Ieee754Unop(node, kIeee754Float64Atanh); | |
1300 } | |
1301 | |
1302 void InstructionSelector::VisitFloat64Cbrt(Node* node) { | 1326 void InstructionSelector::VisitFloat64Cbrt(Node* node) { |
1303 VisitFloat64Ieee754Unop(node, kIeee754Float64Cbrt); | 1327 VisitFloat64Ieee754Unop(node, kIeee754Float64Cbrt); |
1304 } | 1328 } |
1305 | 1329 |
1306 void InstructionSelector::VisitFloat64Cos(Node* node) { | 1330 void InstructionSelector::VisitFloat64Cos(Node* node) { |
1307 VisitFloat64Ieee754Unop(node, kIeee754Float64Cos); | 1331 VisitFloat64Ieee754Unop(node, kIeee754Float64Cos); |
1308 } | 1332 } |
1309 | 1333 |
1310 void InstructionSelector::VisitFloat64Cosh(Node* node) { | 1334 void InstructionSelector::VisitFloat64Cosh(Node* node) { |
1311 VisitFloat64Ieee754Unop(node, kIeee754Float64Cosh); | 1335 VisitFloat64Ieee754Unop(node, kIeee754Float64Cosh); |
(...skipping 657 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1969 return new (instruction_zone()) FrameStateDescriptor( | 1993 return new (instruction_zone()) FrameStateDescriptor( |
1970 instruction_zone(), state_info.type(), state_info.bailout_id(), | 1994 instruction_zone(), state_info.type(), state_info.bailout_id(), |
1971 state_info.state_combine(), parameters, locals, stack, | 1995 state_info.state_combine(), parameters, locals, stack, |
1972 state_info.shared_info(), outer_state); | 1996 state_info.shared_info(), outer_state); |
1973 } | 1997 } |
1974 | 1998 |
1975 | 1999 |
1976 } // namespace compiler | 2000 } // namespace compiler |
1977 } // namespace internal | 2001 } // namespace internal |
1978 } // namespace v8 | 2002 } // namespace v8 |
OLD | NEW |