Index: src/arm/code-stubs-arm.cc |
diff --git a/src/arm/code-stubs-arm.cc b/src/arm/code-stubs-arm.cc |
index b1ffaea14d1241e2ee8301f9647ff5896745a8df..9bcc20bff3aac0598b3b1818886103749ec38098 100644 |
--- a/src/arm/code-stubs-arm.cc |
+++ b/src/arm/code-stubs-arm.cc |
@@ -84,7 +84,7 @@ static void InitializeArrayConstructorDescriptor(Isolate* isolate, |
// stack param count needs (constructor pointer, and single argument) |
descriptor->stack_parameter_count_ = &r0; |
descriptor->register_params_ = registers; |
- descriptor->extra_expression_stack_count_ = 1; |
+ descriptor->acting_as_js_function_ = true; |
descriptor->deoptimization_handler_ = |
FUNCTION_ADDR(ArrayConstructor_StubFailure); |
} |
@@ -7987,6 +7987,9 @@ void StubFailureTrampolineStub::Generate(MacroAssembler* masm) { |
int parameter_count_offset = |
StubFailureTrampolineFrame::kCallerStackParameterCountFrameOffset; |
__ ldr(r1, MemOperand(fp, parameter_count_offset)); |
+ if (acting_as_js_function_) { |
+ __ add(r1, r1, Operand(1)); |
+ } |
masm->LeaveFrame(StackFrame::STUB_FAILURE_TRAMPOLINE); |
__ mov(r1, Operand(r1, LSL, kPointerSizeLog2)); |
__ add(sp, sp, r1); |