Index: src/ia32/lithium-codegen-ia32.cc |
diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc |
index 0dbe3da13d3f1b4f59bfd2b1f31a1fbaf84c6eaa..b3c06d6778957c9152a6fe2bfa42737faeb5f419 100644 |
--- a/src/ia32/lithium-codegen-ia32.cc |
+++ b/src/ia32/lithium-codegen-ia32.cc |
@@ -4736,16 +4736,14 @@ void LCodeGen::DoTransitionElementsKind(LTransitionElementsKind* instr) { |
kDontSaveFPRegs); |
} else { |
ASSERT(ToRegister(instr->context()).is(esi)); |
+ ASSERT(object_reg.is(eax)); |
PushSafepointRegistersScope scope(this); |
- if (!object_reg.is(eax)) { |
- __ mov(eax, object_reg); |
- } |
__ mov(ebx, 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_AND_NO_ARGUMENTS); |
} |
__ bind(¬_applicable); |
} |