Index: src/compiler/mips/code-generator-mips.cc |
diff --git a/src/compiler/mips/code-generator-mips.cc b/src/compiler/mips/code-generator-mips.cc |
index 5fa98e99f95273674c8c87fa68e7dd112292451b..19a463592b246683d2f5531d8f577727da957bbe 100644 |
--- a/src/compiler/mips/code-generator-mips.cc |
+++ b/src/compiler/mips/code-generator-mips.cc |
@@ -1743,7 +1743,11 @@ void CodeGenerator::AssembleMove(InstructionOperand* source, |
destination->IsRegister() ? g.ToRegister(destination) : kScratchReg; |
switch (src.type()) { |
case Constant::kInt32: |
- __ li(dst, Operand(src.ToInt32())); |
+ if (src.rmode() == RelocInfo::WASM_MEMORY_REFERENCE) { |
+ __ li(dst, Operand(src.ToInt32(), src.rmode())); |
+ } else { |
+ __ li(dst, Operand(src.ToInt32())); |
+ } |
break; |
case Constant::kFloat32: |
__ li(dst, isolate()->factory()->NewNumber(src.ToFloat32(), TENURED)); |