Index: src/arm/code-stubs-arm.cc |
diff --git a/src/arm/code-stubs-arm.cc b/src/arm/code-stubs-arm.cc |
index f2f64087a494617b016a7b72f75f4e55993628e6..b0d1518713bde394d4c706bc82ad35286a3a6ead 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); |
} |
@@ -7998,6 +7998,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); |