| 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);
|
| }
|
| }
|
|
|
|
|