Index: src/x64/macro-assembler-x64.cc |
diff --git a/src/x64/macro-assembler-x64.cc b/src/x64/macro-assembler-x64.cc |
index 6f313f7a66383d953c52046a7af75b76c0e7687d..0ccb1e3e04f5bc1aba12f7558fc822d188ae5afa 100644 |
--- a/src/x64/macro-assembler-x64.cc |
+++ b/src/x64/macro-assembler-x64.cc |
@@ -3212,6 +3212,8 @@ void MacroAssembler::TruncateHeapNumberToI(Register result_reg, |
} |
bind(&done); |
+ // Keep our invariant that the upper 32 bits are zero. |
+ movl(result_reg, result_reg); |
} |
@@ -3228,6 +3230,8 @@ void MacroAssembler::TruncateDoubleToI(Register result_reg, |
addp(rsp, Immediate(kDoubleSize)); |
bind(&done); |
+ // Keep our invariant that the upper 32 bits are zero. |
+ movl(result_reg, result_reg); |
} |