| Index: src/x64/macro-assembler-x64.cc | 
| diff --git a/src/x64/macro-assembler-x64.cc b/src/x64/macro-assembler-x64.cc | 
| index 6873efff67d39f7a948b634b24c4f9c768a79c30..f773a61bd5f1cb8e75b12aac7baed4a2456ae425 100644 | 
| --- a/src/x64/macro-assembler-x64.cc | 
| +++ b/src/x64/macro-assembler-x64.cc | 
| @@ -924,6 +924,11 @@ void MacroAssembler::Store(const Operand& dst, Register src, Representation r) { | 
| } else if (r.IsInteger32()) { | 
| movl(dst, src); | 
| } else { | 
| +    if (r.IsHeapObject()) { | 
| +      AssertNotSmi(src); | 
| +    } else if (r.IsSmi()) { | 
| +      AssertSmi(src); | 
| +    } | 
| movp(dst, src); | 
| } | 
| } | 
|  |