| Index: src/ia32/code-stubs-ia32.cc
|
| diff --git a/src/ia32/code-stubs-ia32.cc b/src/ia32/code-stubs-ia32.cc
|
| index 1b27540317ccd4ad3b138b59de2fa43c75864698..28334417247fa19bdb98ddfb1b07f66aa6c3b7ab 100644
|
| --- a/src/ia32/code-stubs-ia32.cc
|
| +++ b/src/ia32/code-stubs-ia32.cc
|
| @@ -89,7 +89,7 @@ static void InitializeArrayConstructorDescriptor(Isolate* isolate,
|
| // stack param count needs (constructor pointer, and single argument)
|
| descriptor->stack_parameter_count_ = &eax;
|
| descriptor->register_params_ = registers;
|
| - descriptor->extra_expression_stack_count_ = 1;
|
| + descriptor->acting_as_js_function_ = true;
|
| descriptor->deoptimization_handler_ =
|
| FUNCTION_ADDR(ArrayConstructor_StubFailure);
|
| }
|
| @@ -7836,8 +7836,8 @@ void StubFailureTrampolineStub::Generate(MacroAssembler* masm) {
|
| __ mov(ebx, MemOperand(ebp, parameter_count_offset));
|
| masm->LeaveFrame(StackFrame::STUB_FAILURE_TRAMPOLINE);
|
| __ pop(ecx);
|
| - __ lea(esp, MemOperand(esp, ebx, times_pointer_size,
|
| - extra_expression_stack_count_ * kPointerSize));
|
| + int additional_offset = acting_as_js_function_ ? kPointerSize : 0;
|
| + __ lea(esp, MemOperand(esp, ebx, times_pointer_size, additional_offset));
|
| __ jmp(ecx); // Return to IC Miss stub, continuation still on stack.
|
| }
|
|
|
|
|