| OLD | NEW |
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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/code-stub-assembler.h" | 5 #include "src/compiler/code-stub-assembler.h" |
| 6 | 6 |
| 7 #include <ostream> | 7 #include <ostream> |
| 8 | 8 |
| 9 #include "src/code-factory.h" | 9 #include "src/code-factory.h" |
| 10 #include "src/compiler/graph.h" | 10 #include "src/compiler/graph.h" |
| (...skipping 584 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 595 args[0] = arg1; | 595 args[0] = arg1; |
| 596 args[1] = arg2; | 596 args[1] = arg2; |
| 597 args[2] = arg3; | 597 args[2] = arg3; |
| 598 args[3] = arg4; | 598 args[3] = arg4; |
| 599 args[4] = arg5; | 599 args[4] = arg5; |
| 600 args[5] = context; | 600 args[5] = context; |
| 601 | 601 |
| 602 return CallN(call_descriptor, target, args); | 602 return CallN(call_descriptor, target, args); |
| 603 } | 603 } |
| 604 | 604 |
| 605 Node* CodeStubAssembler::TailCallStub(Callable const& callable, Node* context, |
| 606 Node* arg1, Node* arg2, |
| 607 size_t result_size) { |
| 608 Node* target = HeapConstant(callable.code()); |
| 609 return TailCallStub(callable.descriptor(), target, context, arg1, arg2, |
| 610 result_size); |
| 611 } |
| 612 |
| 605 Node* CodeStubAssembler::TailCallStub(const CallInterfaceDescriptor& descriptor, | 613 Node* CodeStubAssembler::TailCallStub(const CallInterfaceDescriptor& descriptor, |
| 606 Node* target, Node* context, Node* arg1, | 614 Node* target, Node* context, Node* arg1, |
| 607 Node* arg2, size_t result_size) { | 615 Node* arg2, size_t result_size) { |
| 608 CallDescriptor* call_descriptor = Linkage::GetStubCallDescriptor( | 616 CallDescriptor* call_descriptor = Linkage::GetStubCallDescriptor( |
| 609 isolate(), zone(), descriptor, descriptor.GetStackParameterCount(), | 617 isolate(), zone(), descriptor, descriptor.GetStackParameterCount(), |
| 610 CallDescriptor::kSupportsTailCalls, Operator::kNoProperties, | 618 CallDescriptor::kSupportsTailCalls, Operator::kNoProperties, |
| 611 MachineType::AnyTagged(), result_size); | 619 MachineType::AnyTagged(), result_size); |
| 612 | 620 |
| 613 Node** args = zone()->NewArray<Node*>(3); | 621 Node** args = zone()->NewArray<Node*>(3); |
| 614 args[0] = arg1; | 622 args[0] = arg1; |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 819 } | 827 } |
| 820 } | 828 } |
| 821 } | 829 } |
| 822 | 830 |
| 823 bound_ = true; | 831 bound_ = true; |
| 824 } | 832 } |
| 825 | 833 |
| 826 } // namespace compiler | 834 } // namespace compiler |
| 827 } // namespace internal | 835 } // namespace internal |
| 828 } // namespace v8 | 836 } // namespace v8 |
| OLD | NEW |