| Index: src/x64/stub-cache-x64.cc
 | 
| diff --git a/src/x64/stub-cache-x64.cc b/src/x64/stub-cache-x64.cc
 | 
| index 148f65ee0d51e49379f8d2e8b795bc759131a727..f6c81b4c8ca298084c84b8e2116b2f375d947002 100644
 | 
| --- a/src/x64/stub-cache-x64.cc
 | 
| +++ b/src/x64/stub-cache-x64.cc
 | 
| @@ -880,6 +880,8 @@ void StubCompiler::GenerateStoreTransition(MacroAssembler* masm,
 | 
|    index -= object->map()->inobject_properties();
 | 
|  
 | 
|    // TODO(verwaest): Share this code as a code stub.
 | 
| +  SmiCheck smi_check = representation.IsTagged()
 | 
| +      ? INLINE_SMI_CHECK : OMIT_SMI_CHECK;
 | 
|    if (index < 0) {
 | 
|      // Set the property straight into the object.
 | 
|      int offset = object->map()->instance_size() + (index * kPointerSize);
 | 
| @@ -898,7 +900,8 @@ void StubCompiler::GenerateStoreTransition(MacroAssembler* masm,
 | 
|          ASSERT(storage_reg.is(name_reg));
 | 
|        }
 | 
|        __ RecordWriteField(
 | 
| -          receiver_reg, offset, name_reg, scratch1, kDontSaveFPRegs);
 | 
| +          receiver_reg, offset, name_reg, scratch1, kDontSaveFPRegs,
 | 
| +          EMIT_REMEMBERED_SET, smi_check);
 | 
|      }
 | 
|    } else {
 | 
|      // Write to the properties array.
 | 
| @@ -920,7 +923,8 @@ void StubCompiler::GenerateStoreTransition(MacroAssembler* masm,
 | 
|          ASSERT(storage_reg.is(name_reg));
 | 
|        }
 | 
|        __ RecordWriteField(
 | 
| -          scratch1, offset, name_reg, receiver_reg, kDontSaveFPRegs);
 | 
| +          scratch1, offset, name_reg, receiver_reg, kDontSaveFPRegs,
 | 
| +          EMIT_REMEMBERED_SET, smi_check);
 | 
|      }
 | 
|    }
 | 
|  
 | 
| @@ -1000,6 +1004,8 @@ void StubCompiler::GenerateStoreField(MacroAssembler* masm,
 | 
|    }
 | 
|  
 | 
|    // TODO(verwaest): Share this code as a code stub.
 | 
| +  SmiCheck smi_check = representation.IsTagged()
 | 
| +      ? INLINE_SMI_CHECK : OMIT_SMI_CHECK;
 | 
|    if (index < 0) {
 | 
|      // Set the property straight into the object.
 | 
|      int offset = object->map()->instance_size() + (index * kPointerSize);
 | 
| @@ -1010,7 +1016,8 @@ void StubCompiler::GenerateStoreField(MacroAssembler* masm,
 | 
|        // Pass the value being stored in the now unused name_reg.
 | 
|        __ movq(name_reg, value_reg);
 | 
|        __ RecordWriteField(
 | 
| -          receiver_reg, offset, name_reg, scratch1, kDontSaveFPRegs);
 | 
| +          receiver_reg, offset, name_reg, scratch1, kDontSaveFPRegs,
 | 
| +          EMIT_REMEMBERED_SET, smi_check);
 | 
|      }
 | 
|    } else {
 | 
|      // Write to the properties array.
 | 
| @@ -1024,7 +1031,8 @@ void StubCompiler::GenerateStoreField(MacroAssembler* masm,
 | 
|        // Pass the value being stored in the now unused name_reg.
 | 
|        __ movq(name_reg, value_reg);
 | 
|        __ RecordWriteField(
 | 
| -          scratch1, offset, name_reg, receiver_reg, kDontSaveFPRegs);
 | 
| +          scratch1, offset, name_reg, receiver_reg, kDontSaveFPRegs,
 | 
| +          EMIT_REMEMBERED_SET, smi_check);
 | 
|      }
 | 
|    }
 | 
|  
 | 
| 
 |