| Index: src/x64/lithium-codegen-x64.cc
|
| diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc
|
| index 75ba04e48170f0ed94975dc180d28f5cd9625ae3..783a99aba134ecf777c934039a5de92fc0ee1a0b 100644
|
| --- a/src/x64/lithium-codegen-x64.cc
|
| +++ b/src/x64/lithium-codegen-x64.cc
|
| @@ -275,6 +275,11 @@ void LCodeGen::GenerateBodyInstructionPost(LInstruction* instr) {
|
| }
|
|
|
| if (instr->HasResult() && instr->MustSignExtendResult(chunk())) {
|
| + // We sign extend the dehoisted key at the definition point when the pointer
|
| + // size is 64-bit. For x32 port, we sign extend the dehoisted key at the use
|
| + // points and MustSignExtendResult is always false. We can't use
|
| + // STATIC_ASSERT here as the pointer size is 32-bit for x32.
|
| + ASSERT(kPointerSize == kInt64Size);
|
| if (instr->result()->IsRegister()) {
|
| Register result_reg = ToRegister(instr->result());
|
| __ movsxlq(result_reg, result_reg);
|
|
|