Index: src/mips/code-stubs-mips.cc |
diff --git a/src/mips/code-stubs-mips.cc b/src/mips/code-stubs-mips.cc |
index efac9727613c434af9e7e8ee675c4e7967e980d9..37d7720c8dc65c5bc47db3a9f3c81cf7bc85c4d8 100644 |
--- a/src/mips/code-stubs-mips.cc |
+++ b/src/mips/code-stubs-mips.cc |
@@ -96,7 +96,7 @@ static void InitializeArrayConstructorDescriptor(Isolate* isolate, |
// stack param count needs (constructor pointer, and single argument) |
descriptor->stack_parameter_count_ = &a0; |
descriptor->register_params_ = registers; |
- descriptor->extra_expression_stack_count_ = 1; |
+ descriptor->function_mode_ = JS_FUNCTION_STUB_MODE; |
descriptor->deoptimization_handler_ = |
FUNCTION_ADDR(ArrayConstructor_StubFailure); |
} |
@@ -8087,6 +8087,9 @@ void StubFailureTrampolineStub::Generate(MacroAssembler* masm) { |
int parameter_count_offset = |
StubFailureTrampolineFrame::kCallerStackParameterCountFrameOffset; |
__ lw(a1, MemOperand(fp, parameter_count_offset)); |
+ if (function_mode_ == JS_FUNCTION_STUB_MODE) { |
+ __ Addu(a1, a1, Operand(1)); |
+ } |
masm->LeaveFrame(StackFrame::STUB_FAILURE_TRAMPOLINE); |
__ sll(a1, a1, kPointerSizeLog2); |
__ Addu(sp, sp, a1); |