Index: src/ia32/lithium-codegen-ia32.cc |
diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc |
index eb1f960c0a738d48595287a90429882c4ea9faaa..739f042cb84df04fc96865d78167adac2bdf9a78 100644 |
--- a/src/ia32/lithium-codegen-ia32.cc |
+++ b/src/ia32/lithium-codegen-ia32.cc |
@@ -4845,13 +4845,10 @@ void LCodeGen::DoTransitionElementsKind(LTransitionElementsKind* instr) { |
ToRegister(instr->temp()), |
kDontSaveFPRegs); |
} else { |
+ ASSERT(ToRegister(instr->context()).is(esi)); |
PushSafepointRegistersScope scope(this); |
if (!object_reg.is(eax)) { |
- __ push(object_reg); |
- } |
- LoadContextFromDeferred(instr->context()); |
- if (!object_reg.is(eax)) { |
- __ pop(eax); |
+ __ mov(eax, object_reg); |
} |
__ mov(ebx, to_map); |
TransitionElementsKindStub stub(from_kind, to_kind); |