Index: src/compiler/ppc/code-generator-ppc.cc |
diff --git a/src/compiler/ppc/code-generator-ppc.cc b/src/compiler/ppc/code-generator-ppc.cc |
index 6d226d0485d5e1285c742565328adec07f1e5968..4767e27ce59f7e6f1e8178437c459c070d9f7a08 100644 |
--- a/src/compiler/ppc/code-generator-ppc.cc |
+++ b/src/compiler/ppc/code-generator-ppc.cc |
@@ -2129,6 +2129,9 @@ void CodeGenerator::AssembleConstructFrame() { |
} |
} else if (descriptor->IsJSFunctionCall()) { |
__ Prologue(this->info()->GeneratePreagedPrologue(), ip); |
+ if (descriptor->PushArgumentCount()) { |
+ __ Push(kJavaScriptCallArgCountRegister); |
+ } |
} else { |
StackFrame::Type type = info()->GetOutputStackFrameType(); |
// TODO(mbrandy): Detect cases where ip is the entrypoint (for |
@@ -2137,7 +2140,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. |
__ Abort(kShouldNotDirectlyEnterOsrFunction); |