| Index: src/x64/code-stubs-x64.cc
|
| diff --git a/src/x64/code-stubs-x64.cc b/src/x64/code-stubs-x64.cc
|
| index 7ebc1033db09f50a403d078f122cc508c2c2621b..c0c123d583a551c23a086f2d0cc4c0c8dee07aff 100644
|
| --- a/src/x64/code-stubs-x64.cc
|
| +++ b/src/x64/code-stubs-x64.cc
|
| @@ -84,7 +84,7 @@ static void InitializeArrayConstructorDescriptor(Isolate* isolate,
|
| // stack param count needs (constructor pointer, and single argument)
|
| descriptor->stack_parameter_count_ = &rax;
|
| descriptor->register_params_ = registers;
|
| - descriptor->extra_expression_stack_count_ = 1;
|
| + descriptor->acting_as_js_function_ = true;
|
| descriptor->deoptimization_handler_ =
|
| FUNCTION_ADDR(ArrayConstructor_StubFailure);
|
| }
|
| @@ -6814,8 +6814,8 @@ void StubFailureTrampolineStub::Generate(MacroAssembler* masm) {
|
| __ movq(rbx, MemOperand(rbp, parameter_count_offset));
|
| masm->LeaveFrame(StackFrame::STUB_FAILURE_TRAMPOLINE);
|
| __ pop(rcx);
|
| - __ lea(rsp, MemOperand(rsp, rbx, times_pointer_size,
|
| - extra_expression_stack_count_ * kPointerSize));
|
| + int additional_offset = acting_as_js_function_ ? kPointerSize : 0;
|
| + __ lea(rsp, MemOperand(rsp, rbx, times_pointer_size, additional_offset));
|
| __ jmp(rcx); // Return to IC Miss stub, continuation still on stack.
|
| }
|
|
|
|
|