| Index: src/compiler/mips/code-generator-mips.cc
|
| diff --git a/src/compiler/mips/code-generator-mips.cc b/src/compiler/mips/code-generator-mips.cc
|
| index cdd7e3486672c63a572e3972ed7b2a6fbccc0aa4..e09b7479508d62a5177694bff37e89e33219f455 100644
|
| --- a/src/compiler/mips/code-generator-mips.cc
|
| +++ b/src/compiler/mips/code-generator-mips.cc
|
| @@ -1525,13 +1525,12 @@ void CodeGenerator::AssembleDeoptimizerCall(
|
| void CodeGenerator::AssemblePrologue() {
|
| CallDescriptor* descriptor = linkage()->GetIncomingDescriptor();
|
| int stack_shrink_slots = frame()->GetSpillSlotCount();
|
| - if (descriptor->IsCFunctionCall()) {
|
| - __ Push(ra, fp);
|
| - __ mov(fp, sp);
|
| - } else if (descriptor->IsJSFunctionCall()) {
|
| - __ Prologue(this->info()->GeneratePreagedPrologue());
|
| - } else if (frame()->needs_frame()) {
|
| - __ StubPrologue();
|
| + if (frame()->needs_frame()) {
|
| + if (descriptor->flags() & CallDescriptor::kHasStandardFrameHeader) {
|
| + __ Prologue(this->info()->GeneratePreagedPrologue());
|
| + } else {
|
| + __ StubPrologue();
|
| + }
|
| } else {
|
| frame()->SetElidedFrameSizeInSlots(0);
|
| }
|
|
|