| Index: src/x64/lithium-codegen-x64.cc
|
| diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc
|
| index cc9b21b79f671ff017326202cbdba499af56e80f..849e2d4ecaa6bf131dc13a938dba82b667e1dd81 100644
|
| --- a/src/x64/lithium-codegen-x64.cc
|
| +++ b/src/x64/lithium-codegen-x64.cc
|
| @@ -4318,17 +4318,14 @@ void LCodeGen::DoTransitionElementsKind(LTransitionElementsKind* instr) {
|
| __ RecordWriteField(object_reg, HeapObject::kMapOffset, new_map_reg,
|
| ToRegister(instr->temp()), kDontSaveFPRegs);
|
| } else {
|
| + ASSERT(object_reg.is(rax));
|
| ASSERT(ToRegister(instr->context()).is(rsi));
|
| PushSafepointRegistersScope scope(this);
|
| - if (!object_reg.is(rax)) {
|
| - __ movp(rax, object_reg);
|
| - }
|
| __ Move(rbx, to_map);
|
| bool is_js_array = from_map->instance_type() == JS_ARRAY_TYPE;
|
| TransitionElementsKindStub stub(from_kind, to_kind, is_js_array);
|
| __ CallStub(&stub);
|
| - RecordSafepointWithRegisters(
|
| - instr->pointer_map(), 0, Safepoint::kNoLazyDeopt);
|
| + RecordSafepointWithLazyDeopt(instr, RECORD_SAFEPOINT_WITH_REGISTERS, 0);
|
| }
|
| __ bind(¬_applicable);
|
| }
|
|
|