| Index: src/wasm/ast-decoder.cc
|
| diff --git a/src/wasm/ast-decoder.cc b/src/wasm/ast-decoder.cc
|
| index 798f9d393a5bf10dba8e1c5b5ebb944e1d0f171e..9a4207d68f603b04c908d804482df178a6b9f536 100644
|
| --- a/src/wasm/ast-decoder.cc
|
| +++ b/src/wasm/ast-decoder.cc
|
| @@ -401,7 +401,7 @@ class WasmDecoder : public Decoder {
|
| FOREACH_STORE_MEM_OPCODE(DECLARE_OPCODE_CASE)
|
| #undef DECLARE_OPCODE_CASE
|
| {
|
| - MemoryAccessOperand operand(this, pc);
|
| + MemoryAccessOperand operand(this, pc, UINT32_MAX);
|
| return 1 + operand.length;
|
| }
|
| case kExprBr:
|
| @@ -1378,7 +1378,9 @@ class WasmFullDecoder : public WasmDecoder {
|
| }
|
|
|
| int DecodeLoadMem(LocalType type, MachineType mem_type) {
|
| - MemoryAccessOperand operand(this, pc_);
|
| + MemoryAccessOperand operand(this, pc_,
|
| + ElementSizeLog2Of(mem_type.representation()));
|
| +
|
| Value index = Pop(0, kAstI32);
|
| TFNode* node = BUILD(LoadMem, type, mem_type, index.node, operand.offset,
|
| operand.alignment, position());
|
| @@ -1387,7 +1389,8 @@ class WasmFullDecoder : public WasmDecoder {
|
| }
|
|
|
| int DecodeStoreMem(LocalType type, MachineType mem_type) {
|
| - MemoryAccessOperand operand(this, pc_);
|
| + MemoryAccessOperand operand(this, pc_,
|
| + ElementSizeLog2Of(mem_type.representation()));
|
| Value val = Pop(1, type);
|
| Value index = Pop(0, kAstI32);
|
| BUILD(StoreMem, mem_type, index.node, operand.offset, operand.alignment,
|
|
|