Index: src/ia32/lithium-codegen-ia32.cc |
diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc |
index e1dce514e3768e4425d1714dae66d58ef2801e7a..63925aa501a7984f81d778536c1554dda55bee94 100644 |
--- a/src/ia32/lithium-codegen-ia32.cc |
+++ b/src/ia32/lithium-codegen-ia32.cc |
@@ -86,7 +86,6 @@ void LCodeGen::FinishCode(Handle<Code> code) { |
if (!info()->IsStub()) { |
Deoptimizer::EnsureRelocSpaceForLazyDeoptimization(code); |
} |
- info()->CommitDependencies(code); |
} |
@@ -4344,7 +4343,7 @@ void LCodeGen::DoInnerAllocatedObject(LInnerAllocatedObject* instr) { |
void LCodeGen::DoStoreNamedField(LStoreNamedField* instr) { |
- Representation representation = instr->representation(); |
+ Representation representation = instr->hydrogen()->field_representation(); |
HObjectAccess access = instr->hydrogen()->access(); |
int offset = access.offset(); |
@@ -4366,7 +4365,6 @@ void LCodeGen::DoStoreNamedField(LStoreNamedField* instr) { |
} |
Register object = ToRegister(instr->object()); |
- Handle<Map> transition = instr->transition(); |
SmiCheck check_needed = |
instr->hydrogen()->value()->IsHeapObject() |
? OMIT_SMI_CHECK : INLINE_SMI_CHECK; |
@@ -4391,8 +4389,8 @@ void LCodeGen::DoStoreNamedField(LStoreNamedField* instr) { |
} |
} |
} else if (representation.IsDouble()) { |
- ASSERT(transition.is_null()); |
ASSERT(access.IsInobject()); |
+ ASSERT(!instr->hydrogen()->has_transition()); |
ASSERT(!instr->hydrogen()->NeedsWriteBarrier()); |
if (CpuFeatures::IsSupported(SSE2)) { |
CpuFeatureScope scope(masm(), SSE2); |
@@ -4405,7 +4403,8 @@ void LCodeGen::DoStoreNamedField(LStoreNamedField* instr) { |
return; |
} |
- if (!transition.is_null()) { |
+ if (instr->hydrogen()->has_transition()) { |
+ Handle<Map> transition = instr->hydrogen()->transition_map(); |
if (!instr->hydrogen()->NeedsWriteBarrierForMap()) { |
__ mov(FieldOperand(object, HeapObject::kMapOffset), transition); |
} else { |