Index: src/compiler/code-assembler.cc |
diff --git a/src/compiler/code-assembler.cc b/src/compiler/code-assembler.cc |
index 39cbd7391f21d93d34a3eb22171ba5892c422dac..46208751cd7bbdc2bf5a26833a4d44ecae9abcf5 100644 |
--- a/src/compiler/code-assembler.cc |
+++ b/src/compiler/code-assembler.cc |
@@ -526,6 +526,13 @@ Node* CodeAssembler::CallStubN(const CallInterfaceDescriptor& descriptor, |
} |
Node* CodeAssembler::TailCallStub(Callable const& callable, Node* context, |
+ Node* arg1, size_t result_size) { |
+ Node* target = HeapConstant(callable.code()); |
+ return TailCallStub(callable.descriptor(), target, context, arg1, |
+ result_size); |
+} |
+ |
+Node* CodeAssembler::TailCallStub(Callable const& callable, Node* context, |
Node* arg1, Node* arg2, size_t result_size) { |
Node* target = HeapConstant(callable.code()); |
return TailCallStub(callable.descriptor(), target, context, arg1, arg2, |
@@ -542,6 +549,21 @@ Node* CodeAssembler::TailCallStub(Callable const& callable, Node* context, |
Node* CodeAssembler::TailCallStub(const CallInterfaceDescriptor& descriptor, |
Node* target, Node* context, Node* arg1, |
+ size_t result_size) { |
+ CallDescriptor* call_descriptor = Linkage::GetStubCallDescriptor( |
+ isolate(), zone(), descriptor, descriptor.GetStackParameterCount(), |
+ CallDescriptor::kSupportsTailCalls, Operator::kNoProperties, |
+ MachineType::AnyTagged(), result_size); |
+ |
+ Node** args = zone()->NewArray<Node*>(2); |
+ args[0] = arg1; |
+ args[1] = context; |
+ |
+ return raw_assembler_->TailCallN(call_descriptor, target, args); |
+} |
+ |
+Node* CodeAssembler::TailCallStub(const CallInterfaceDescriptor& descriptor, |
+ Node* target, Node* context, Node* arg1, |
Node* arg2, size_t result_size) { |
CallDescriptor* call_descriptor = Linkage::GetStubCallDescriptor( |
isolate(), zone(), descriptor, descriptor.GetStackParameterCount(), |