| Index: src/compiler/raw-machine-assembler.cc
|
| diff --git a/src/compiler/raw-machine-assembler.cc b/src/compiler/raw-machine-assembler.cc
|
| index 2030a1910c029e8d7cdc81a375df66cc4543ea87..0b707b42814d6ce64d37e1e743b208542fe9b7f2 100644
|
| --- a/src/compiler/raw-machine-assembler.cc
|
| +++ b/src/compiler/raw-machine-assembler.cc
|
| @@ -154,8 +154,9 @@ Node* RawMachineAssembler::CallRuntime1(Runtime::FunctionId function,
|
| Node* arg1, Node* context) {
|
| CallDescriptor* descriptor = Linkage::GetRuntimeCallDescriptor(
|
| zone(), function, 1, Operator::kNoProperties, CallDescriptor::kNoFlags);
|
| + int return_count = static_cast<int>(descriptor->ReturnCount());
|
|
|
| - Node* centry = HeapConstant(CEntryStub(isolate(), 1).GetCode());
|
| + Node* centry = HeapConstant(CEntryStub(isolate(), return_count).GetCode());
|
| Node* ref = AddNode(
|
| common()->ExternalConstant(ExternalReference(function, isolate())));
|
| Node* arity = Int32Constant(1);
|
| @@ -168,8 +169,9 @@ Node* RawMachineAssembler::CallRuntime2(Runtime::FunctionId function,
|
| Node* arg1, Node* arg2, Node* context) {
|
| CallDescriptor* descriptor = Linkage::GetRuntimeCallDescriptor(
|
| zone(), function, 2, Operator::kNoProperties, CallDescriptor::kNoFlags);
|
| + int return_count = static_cast<int>(descriptor->ReturnCount());
|
|
|
| - Node* centry = HeapConstant(CEntryStub(isolate(), 1).GetCode());
|
| + Node* centry = HeapConstant(CEntryStub(isolate(), return_count).GetCode());
|
| Node* ref = AddNode(
|
| common()->ExternalConstant(ExternalReference(function, isolate())));
|
| Node* arity = Int32Constant(2);
|
| @@ -184,8 +186,9 @@ Node* RawMachineAssembler::CallRuntime4(Runtime::FunctionId function,
|
| Node* arg4, Node* context) {
|
| CallDescriptor* descriptor = Linkage::GetRuntimeCallDescriptor(
|
| zone(), function, 4, Operator::kNoProperties, CallDescriptor::kNoFlags);
|
| + int return_count = static_cast<int>(descriptor->ReturnCount());
|
|
|
| - Node* centry = HeapConstant(CEntryStub(isolate(), 1).GetCode());
|
| + Node* centry = HeapConstant(CEntryStub(isolate(), return_count).GetCode());
|
| Node* ref = AddNode(
|
| common()->ExternalConstant(ExternalReference(function, isolate())));
|
| Node* arity = Int32Constant(4);
|
| @@ -220,8 +223,9 @@ Node* RawMachineAssembler::TailCallRuntime1(Runtime::FunctionId function,
|
| CallDescriptor* desc = Linkage::GetRuntimeCallDescriptor(
|
| zone(), function, kArity, Operator::kNoProperties,
|
| CallDescriptor::kSupportsTailCalls);
|
| + int return_count = static_cast<int>(desc->ReturnCount());
|
|
|
| - Node* centry = HeapConstant(CEntryStub(isolate(), 1).GetCode());
|
| + Node* centry = HeapConstant(CEntryStub(isolate(), return_count).GetCode());
|
| Node* ref = AddNode(
|
| common()->ExternalConstant(ExternalReference(function, isolate())));
|
| Node* arity = Int32Constant(kArity);
|
| @@ -243,8 +247,9 @@ Node* RawMachineAssembler::TailCallRuntime2(Runtime::FunctionId function,
|
| CallDescriptor* desc = Linkage::GetRuntimeCallDescriptor(
|
| zone(), function, kArity, Operator::kNoProperties,
|
| CallDescriptor::kSupportsTailCalls);
|
| + int return_count = static_cast<int>(desc->ReturnCount());
|
|
|
| - Node* centry = HeapConstant(CEntryStub(isolate(), 1).GetCode());
|
| + Node* centry = HeapConstant(CEntryStub(isolate(), return_count).GetCode());
|
| Node* ref = AddNode(
|
| common()->ExternalConstant(ExternalReference(function, isolate())));
|
| Node* arity = Int32Constant(kArity);
|
|
|