Index: src/compiler/x87/code-generator-x87.cc |
diff --git a/src/compiler/x87/code-generator-x87.cc b/src/compiler/x87/code-generator-x87.cc |
index dd2b0c3aef71d727c663880061a8ce9005b08f85..f3bce897a620b1d1653bf2669f2775b181f13fac 100644 |
--- a/src/compiler/x87/code-generator-x87.cc |
+++ b/src/compiler/x87/code-generator-x87.cc |
@@ -2404,12 +2404,16 @@ void CodeGenerator::AssembleConstructFrame() { |
__ mov(ebp, esp); |
} else if (descriptor->IsJSFunctionCall()) { |
__ Prologue(this->info()->GeneratePreagedPrologue()); |
+ if (descriptor->PushArgumentCount()) { |
+ __ push(kJavaScriptCallArgCountRegister); |
+ } |
} else { |
__ StubPrologue(info()->GetOutputStackFrameType()); |
} |
} |
- int shrink_slots = frame()->GetSpillSlotCount(); |
+ int shrink_slots = |
+ frame()->GetTotalFrameSlotCount() - descriptor->CalculateFixedFrameSize(); |
if (info()->is_osr()) { |
// TurboFan OSR-compiled functions cannot be entered directly. |