| Index: src/ia32/code-stubs-ia32.cc
|
| diff --git a/src/ia32/code-stubs-ia32.cc b/src/ia32/code-stubs-ia32.cc
|
| index 88207c490777d3b3d0eaffd5a8e96c8b01987dda..a75fe6b9febfbff18595688a2fe977edd3aebe6a 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);
|
| }
|
| @@ -7825,8 +7825,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.
|
| }
|
|
|
|
|