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

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

Issue 1702423002: [turbofan] Further fixing ES6 tail call elimination in Turbofan. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@tco-turbo
Patch Set: Addressing comments Created 4 years, 9 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/x64/code-generator-x64.cc ('k') | src/crankshaft/ia32/lithium-codegen-ia32.cc » ('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 <algorithm> 5 #include <algorithm>
6 6
7 #include "src/base/adapters.h" 7 #include "src/base/adapters.h"
8 #include "src/compiler/instruction-selector-impl.h" 8 #include "src/compiler/instruction-selector-impl.h"
9 #include "src/compiler/node-matchers.h" 9 #include "src/compiler/node-matchers.h"
10 #include "src/compiler/node-properties.h" 10 #include "src/compiler/node-properties.h"
(...skipping 1338 matching lines...) Expand 10 before | Expand all | Expand 10 after
1349 ? g.UseRegister(input.node()) 1349 ? g.UseRegister(input.node())
1350 : g.Use(input.node()); 1350 : g.Use(input.node());
1351 Emit(kX64Push, g.NoOutput(), value); 1351 Emit(kX64Push, g.NoOutput(), value);
1352 } 1352 }
1353 } 1353 }
1354 } 1354 }
1355 1355
1356 1356
1357 bool InstructionSelector::IsTailCallAddressImmediate() { return true; } 1357 bool InstructionSelector::IsTailCallAddressImmediate() { return true; }
1358 1358
1359 int InstructionSelector::GetTempsCountForTailCallFromJSFunction() { return 3; }
1359 1360
1360 namespace { 1361 namespace {
1361 1362
1362 void VisitCompareWithMemoryOperand(InstructionSelector* selector, 1363 void VisitCompareWithMemoryOperand(InstructionSelector* selector,
1363 InstructionCode opcode, Node* left, 1364 InstructionCode opcode, Node* left,
1364 InstructionOperand right, 1365 InstructionOperand right,
1365 FlagsContinuation* cont) { 1366 FlagsContinuation* cont) {
1366 DCHECK(left->opcode() == IrOpcode::kLoad); 1367 DCHECK(left->opcode() == IrOpcode::kLoad);
1367 X64OperandGenerator g(selector); 1368 X64OperandGenerator g(selector);
1368 size_t input_count = 0; 1369 size_t input_count = 0;
(...skipping 559 matching lines...) Expand 10 before | Expand all | Expand 10 after
1928 MachineOperatorBuilder::kFloat64RoundTruncate | 1929 MachineOperatorBuilder::kFloat64RoundTruncate |
1929 MachineOperatorBuilder::kFloat32RoundTiesEven | 1930 MachineOperatorBuilder::kFloat32RoundTiesEven |
1930 MachineOperatorBuilder::kFloat64RoundTiesEven; 1931 MachineOperatorBuilder::kFloat64RoundTiesEven;
1931 } 1932 }
1932 return flags; 1933 return flags;
1933 } 1934 }
1934 1935
1935 } // namespace compiler 1936 } // namespace compiler
1936 } // namespace internal 1937 } // namespace internal
1937 } // namespace v8 1938 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/x64/code-generator-x64.cc ('k') | src/crankshaft/ia32/lithium-codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698