Index: src/x64/lithium-codegen-x64.cc |
=================================================================== |
--- src/x64/lithium-codegen-x64.cc (revision 7047) |
+++ src/x64/lithium-codegen-x64.cc (working copy) |
@@ -1966,19 +1966,20 @@ |
void LCodeGen::DoLoadContextSlot(LLoadContextSlot* instr) { |
- Register context = ToRegister(instr->context()); |
Register result = ToRegister(instr->result()); |
- __ movq(result, ContextOperand(context, instr->slot_index())); |
+ __ movq(result, ContextOperand(rsi, instr->slot_index())); |
} |
void LCodeGen::DoStoreContextSlot(LStoreContextSlot* instr) { |
- Register context = ToRegister(instr->context()); |
Register value = ToRegister(instr->value()); |
- __ movq(ContextOperand(context, instr->slot_index()), value); |
+ __ movq(ContextOperand(rsi, instr->slot_index()), value); |
if (instr->needs_write_barrier()) { |
int offset = Context::SlotOffset(instr->slot_index()); |
- __ RecordWrite(context, offset, value, kScratchRegister); |
+ Register scratch_1 = ToRegister(instr->TempAt(0)); |
+ Register scratch_2 = ToRegister(instr->TempAt(1)); |
+ __ movq(scratch_1, rsi); |
Rico
2011/03/03 14:30:28
Maybe we should call scratc_1 for context and scr
William Hesse
2011/03/03 15:36:02
I don't think so, since it will be confusing if we
|
+ __ RecordWrite(scratch_1, offset, value, scratch_2); |
} |
} |