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

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

Issue 2065503002: [builtins] Introduce proper Float64Atan and Float64Atan2 operators. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: [WIP] Fix GCC/Win32. Created 4 years, 6 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
« no previous file with comments | « src/compiler/instruction-selector.h ('k') | src/compiler/js-builtin-reducer.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 1109 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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
OLDNEW
« no previous file with comments | « src/compiler/instruction-selector.h ('k') | src/compiler/js-builtin-reducer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698