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-impl.h" | 5 #include "src/compiler/instruction-selector-impl.h" |
6 #include "src/compiler/node-matchers.h" | 6 #include "src/compiler/node-matchers.h" |
7 #include "src/compiler/node-properties.h" | 7 #include "src/compiler/node-properties.h" |
8 | 8 |
9 namespace v8 { | 9 namespace v8 { |
10 namespace internal { | 10 namespace internal { |
(...skipping 1649 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1660 // same type. | 1660 // same type. |
1661 // Emit(kArm64PokePair, g.NoOutput(), g.UseRegister((*arguments)[slot]), | 1661 // Emit(kArm64PokePair, g.NoOutput(), g.UseRegister((*arguments)[slot]), |
1662 // g.UseRegister((*arguments)[slot - 1]), g.TempImmediate(slot)); | 1662 // g.UseRegister((*arguments)[slot - 1]), g.TempImmediate(slot)); |
1663 // slot -= 2; | 1663 // slot -= 2; |
1664 } | 1664 } |
1665 } | 1665 } |
1666 | 1666 |
1667 | 1667 |
1668 bool InstructionSelector::IsTailCallAddressImmediate() { return false; } | 1668 bool InstructionSelector::IsTailCallAddressImmediate() { return false; } |
1669 | 1669 |
| 1670 int InstructionSelector::GetTempsCountForTailCallFromJSFunction() { return 3; } |
1670 | 1671 |
1671 namespace { | 1672 namespace { |
1672 | 1673 |
1673 // Shared routine for multiple compare operations. | 1674 // Shared routine for multiple compare operations. |
1674 void VisitCompare(InstructionSelector* selector, InstructionCode opcode, | 1675 void VisitCompare(InstructionSelector* selector, InstructionCode opcode, |
1675 InstructionOperand left, InstructionOperand right, | 1676 InstructionOperand left, InstructionOperand right, |
1676 FlagsContinuation* cont) { | 1677 FlagsContinuation* cont) { |
1677 Arm64OperandGenerator g(selector); | 1678 Arm64OperandGenerator g(selector); |
1678 opcode = cont->Encode(opcode); | 1679 opcode = cont->Encode(opcode); |
1679 if (cont->IsBranch()) { | 1680 if (cont->IsBranch()) { |
(...skipping 584 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2264 MachineOperatorBuilder::kWord32ShiftIsSafe | | 2265 MachineOperatorBuilder::kWord32ShiftIsSafe | |
2265 MachineOperatorBuilder::kInt32DivIsSafe | | 2266 MachineOperatorBuilder::kInt32DivIsSafe | |
2266 MachineOperatorBuilder::kUint32DivIsSafe | | 2267 MachineOperatorBuilder::kUint32DivIsSafe | |
2267 MachineOperatorBuilder::kWord32ReverseBits | | 2268 MachineOperatorBuilder::kWord32ReverseBits | |
2268 MachineOperatorBuilder::kWord64ReverseBits; | 2269 MachineOperatorBuilder::kWord64ReverseBits; |
2269 } | 2270 } |
2270 | 2271 |
2271 } // namespace compiler | 2272 } // namespace compiler |
2272 } // namespace internal | 2273 } // namespace internal |
2273 } // namespace v8 | 2274 } // namespace v8 |
OLD | NEW |