Chromium Code Reviews| 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; |