Index: src/x64/lithium-gap-resolver-x64.cc |
=================================================================== |
--- src/x64/lithium-gap-resolver-x64.cc (revision 10650) |
+++ src/x64/lithium-gap-resolver-x64.cc (working copy) |
@@ -204,8 +204,9 @@ |
ASSERT(destination->IsStackSlot()); |
Operand dst = cgen_->ToOperand(destination); |
if (cgen_->IsInteger32Constant(constant_source)) { |
- // Allow top 32 bits of an untagged Integer32 to be arbitrary. |
- __ movl(dst, Immediate(cgen_->ToInteger32(constant_source))); |
+ // Zero top 32 bits of a 64 bit spill slot that holds a 32 bit untagged |
+ // value. |
+ __ movq(dst, Immediate(cgen_->ToInteger32(constant_source))); |
} else { |
__ LoadObject(kScratchRegister, cgen_->ToHandle(constant_source)); |
__ movq(dst, kScratchRegister); |