Index: src/x64/lithium-codegen-x64.cc |
=================================================================== |
--- src/x64/lithium-codegen-x64.cc (revision 7048) |
+++ src/x64/lithium-codegen-x64.cc (working copy) |
@@ -1966,20 +1966,19 @@ |
void LCodeGen::DoLoadContextSlot(LLoadContextSlot* instr) { |
+ Register context = ToRegister(instr->context()); |
Register result = ToRegister(instr->result()); |
- __ movq(result, ContextOperand(rsi, instr->slot_index())); |
+ __ movq(result, ContextOperand(context, instr->slot_index())); |
} |
void LCodeGen::DoStoreContextSlot(LStoreContextSlot* instr) { |
+ Register context = ToRegister(instr->context()); |
Register value = ToRegister(instr->value()); |
- __ movq(ContextOperand(rsi, instr->slot_index()), value); |
+ __ movq(ContextOperand(context, instr->slot_index()), value); |
if (instr->needs_write_barrier()) { |
int offset = Context::SlotOffset(instr->slot_index()); |
- Register scratch_1 = ToRegister(instr->TempAt(0)); |
- Register scratch_2 = ToRegister(instr->TempAt(1)); |
- __ movq(scratch_1, rsi); |
- __ RecordWrite(scratch_1, offset, value, scratch_2); |
+ __ RecordWrite(context, offset, value, kScratchRegister); |
} |
} |