Index: src/compiler/arm64/code-generator-arm64.cc |
diff --git a/src/compiler/arm64/code-generator-arm64.cc b/src/compiler/arm64/code-generator-arm64.cc |
index 48c82f00d64eb3f17576994e8fbe81ac19c66255..e7062bdb7f921623709f25e47822c346a7986668 100644 |
--- a/src/compiler/arm64/code-generator-arm64.cc |
+++ b/src/compiler/arm64/code-generator-arm64.cc |
@@ -183,9 +183,14 @@ class Arm64OperandConverter final : public InstructionOperandConverter { |
Constant constant = ToConstant(operand); |
switch (constant.type()) { |
case Constant::kInt32: |
- return Operand(constant.ToInt32()); |
+ if (constant.rmode() == RelocInfo::WASM_MEMORY_SIZE_REFERENCE) { |
+ return Operand(constant.ToInt32(), constant.rmode()); |
+ } else { |
+ return Operand(constant.ToInt32()); |
+ } |
case Constant::kInt64: |
- if (constant.rmode() == RelocInfo::WASM_MEMORY_REFERENCE) { |
+ if (constant.rmode() == RelocInfo::WASM_MEMORY_REFERENCE || |
+ constant.rmode() == RelocInfo::WASM_MEMORY_SIZE_REFERENCE) { |
titzer
2016/04/28 11:40:19
I think we are limiting ourselves to 32 bit sizes
gdeepti
2016/05/02 23:56:08
Dropped, and added a DCHECK for x64 & Arm64. There
|
return Operand(constant.ToInt64(), constant.rmode()); |
} else { |
return Operand(constant.ToInt64()); |