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); |
} |
} |