Index: src/crankshaft/mips64/lithium-mips64.cc |
diff --git a/src/crankshaft/mips64/lithium-mips64.cc b/src/crankshaft/mips64/lithium-mips64.cc |
index 29d413391e12b40d5f83c7553584a950a0c69df2..c4e4dca93db6e0d13da592445bda9a8d2cc55539 100644 |
--- a/src/crankshaft/mips64/lithium-mips64.cc |
+++ b/src/crankshaft/mips64/lithium-mips64.cc |
@@ -886,7 +886,7 @@ void LChunkBuilder::AddInstruction(LInstruction* instr, |
} |
chunk_->AddInstruction(instr, current_block_); |
- if (instr->IsCall() || instr->IsPrologue()) { |
+ if (instr->IsCall()) { |
HValue* hydrogen_value_for_lazy_bailout = hydrogen_val; |
if (hydrogen_val->HasObservableSideEffects()) { |
HSimulate* sim = HSimulate::cast(hydrogen_val->next()); |
@@ -901,7 +901,11 @@ void LChunkBuilder::AddInstruction(LInstruction* instr, |
LInstruction* LChunkBuilder::DoPrologue(HPrologue* instr) { |
- return new (zone()) LPrologue(); |
+ LInstruction* result = new (zone()) LPrologue(); |
+ if (info_->num_heap_slots() > 0) { |
+ result = MarkAsCall(result, instr); |
+ } |
+ return result; |
} |