Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(162)

Side by Side Diff: src/compiler/instruction-selector.cc

Issue 2116753002: [builtins] Unify most of the remaining Math builtins. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@2102223005
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698