Index: src/x64/lithium-x64.cc |
diff --git a/src/x64/lithium-x64.cc b/src/x64/lithium-x64.cc |
index 4a7b3aa3aeb06f9f10b905030c2b17928b96e774..528dc27df387492ff164b04810ca7a63930a83d4 100644 |
--- a/src/x64/lithium-x64.cc |
+++ b/src/x64/lithium-x64.cc |
@@ -305,15 +305,17 @@ void LAccessArgumentsAt::PrintDataTo(StringStream* stream) { |
int LChunk::GetNextSpillIndex(bool is_double) { |
- // Need to consider what index means: Is it 32 bit or 64 bit index? |
- UNIMPLEMENTED(); |
- return 0; |
+ return spill_slot_count_++; |
} |
LOperand* LChunk::GetNextSpillSlot(bool is_double) { |
- UNIMPLEMENTED(); |
- return NULL; |
+ // All stack slots are Double stack slots on x64. |
+ // Alternatively, at some point, start using half-size |
+ // stack slots for int32 values. |
+ int index = GetNextSpillIndex(is_double); |
+ if (is_double) return LDoubleStackSlot(index); |
+ return LStackSlot::Create(index); |
Rico
2011/01/14 12:57:02
I would probably make this a if - else statement o
Lasse Reichstein
2011/01/14 13:12:30
Made identical to ia32.
|
} |
@@ -737,6 +739,7 @@ LInstruction* LChunkBuilder::DoArithmeticT(Token::Value op, |
return NULL; |
} |
+ |
void LChunkBuilder::DoBasicBlock(HBasicBlock* block, HBasicBlock* next_block) { |
ASSERT(is_building()); |
current_block_ = block; |