Index: src/lithium-allocator.cc |
diff --git a/src/lithium-allocator.cc b/src/lithium-allocator.cc |
index eecc441f4f81fd85221f9956b16d7b839fce19d4..abdef0932011b94a862665cd7756808af32362b5 100644 |
--- a/src/lithium-allocator.cc |
+++ b/src/lithium-allocator.cc |
@@ -940,6 +940,9 @@ void LAllocator::ProcessInstructions(HBasicBlock* block, BitVector* live) { |
curr_position.InstructionEnd()); |
} |
} |
+ } |
+ |
+ if (summary->IsCall() || summary->IsSaveDoubles()) { |
for (int i = 0; i < DoubleRegister::kNumAllocatableRegisters; ++i) { |
if (output == NULL || !output->IsDoubleRegister() || |
output->index() != i) { |
@@ -1607,6 +1610,11 @@ void LAllocator::MarkAsCall() { |
} |
+void LAllocator::MarkAsSaveDoubles() { |
+ current_summary()->MarkAsSaveDoubles(); |
+} |
+ |
+ |
void LAllocator::RecordDefinition(HInstruction* instr, LUnallocated* operand) { |
operand->set_virtual_register(instr->id()); |
current_summary()->SetOutput(operand); |