| Index: src/x87/lithium-codegen-x87.cc | 
| diff --git a/src/x87/lithium-codegen-x87.cc b/src/x87/lithium-codegen-x87.cc | 
| index 60fe7254e987831003e00667d5cac32b77eff0cc..975226bdaa72a5f84422df9812b3b6651abcb1e0 100644 | 
| --- a/src/x87/lithium-codegen-x87.cc | 
| +++ b/src/x87/lithium-codegen-x87.cc | 
| @@ -3888,30 +3888,11 @@ void LCodeGen::DoStoreNamedField(LStoreNamedField* instr) { | 
| } | 
|  | 
| Register object = ToRegister(instr->object()); | 
| -  SmiCheck check_needed = | 
| -      instr->hydrogen()->value()->IsHeapObject() | 
| -          ? OMIT_SMI_CHECK : INLINE_SMI_CHECK; | 
| - | 
| -  ASSERT(!(representation.IsSmi() && | 
| -           instr->value()->IsConstantOperand() && | 
| -           !IsSmi(LConstantOperand::cast(instr->value())))); | 
| -  if (representation.IsHeapObject()) { | 
| -    if (instr->value()->IsConstantOperand()) { | 
| -      LConstantOperand* operand_value = LConstantOperand::cast(instr->value()); | 
| -      if (chunk_->LookupConstant(operand_value)->HasSmiValue()) { | 
| -        DeoptimizeIf(no_condition, instr->environment()); | 
| -      } | 
| -    } else { | 
| -      if (!instr->hydrogen()->value()->type().IsHeapObject()) { | 
| -        Register value = ToRegister(instr->value()); | 
| -        __ test(value, Immediate(kSmiTagMask)); | 
| -        DeoptimizeIf(zero, instr->environment()); | 
| - | 
| -        // We know now that value is not a smi, so we can omit the check below. | 
| -        check_needed = OMIT_SMI_CHECK; | 
| -      } | 
| -    } | 
| -  } else if (representation.IsDouble()) { | 
| +  __ AssertNotSmi(object); | 
| +  ASSERT(!representation.IsSmi() || | 
| +         !instr->value()->IsConstantOperand() || | 
| +         IsSmi(LConstantOperand::cast(instr->value()))); | 
| +  if (representation.IsDouble()) { | 
| ASSERT(access.IsInobject()); | 
| ASSERT(!instr->hydrogen()->has_transition()); | 
| ASSERT(!instr->hydrogen()->NeedsWriteBarrier()); | 
| @@ -3976,7 +3957,7 @@ void LCodeGen::DoStoreNamedField(LStoreNamedField* instr) { | 
| value, | 
| temp, | 
| EMIT_REMEMBERED_SET, | 
| -                        check_needed); | 
| +                        instr->hydrogen()->SmiCheckForWriteBarrier()); | 
| } | 
| } | 
|  | 
|  |