Index: src/compiler/arm/code-generator-arm.cc |
diff --git a/src/compiler/arm/code-generator-arm.cc b/src/compiler/arm/code-generator-arm.cc |
index d3ee44a6bc0d8db645ea3a3611fe3f531f343b82..4acc0562c3f526cb2d41a60cb1839c08dcac8b6e 100644 |
--- a/src/compiler/arm/code-generator-arm.cc |
+++ b/src/compiler/arm/code-generator-arm.cc |
@@ -1690,6 +1690,9 @@ void CodeGenerator::AssembleConstructFrame() { |
} |
} else if (descriptor->IsJSFunctionCall()) { |
__ Prologue(this->info()->GeneratePreagedPrologue()); |
+ if (descriptor->PushArgumentCount()) { |
+ __ Push(kJavaScriptCallArgCountRegister); |
+ } |
} else { |
__ StubPrologue(info()->GetOutputStackFrameType()); |
} |
@@ -1699,7 +1702,8 @@ void CodeGenerator::AssembleConstructFrame() { |
} |
} |
- int shrink_slots = frame()->GetSpillSlotCount(); |
+ int shrink_slots = |
+ frame()->GetTotalFrameSlotCount() - descriptor->CalculateFixedFrameSize(); |
if (info()->is_osr()) { |
// TurboFan OSR-compiled functions cannot be entered directly. |