Index: src/compiler/ia32/code-generator-ia32.cc |
diff --git a/src/compiler/ia32/code-generator-ia32.cc b/src/compiler/ia32/code-generator-ia32.cc |
index 2e54e2a6341654c0e5bee142b65cba715c7c34b6..23ebac852476288aa0319b5b3658389f19c17302 100644 |
--- a/src/compiler/ia32/code-generator-ia32.cc |
+++ b/src/compiler/ia32/code-generator-ia32.cc |
@@ -1945,12 +1945,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. |