| Index: src/wasm/ast-decoder.cc
|
| diff --git a/src/wasm/ast-decoder.cc b/src/wasm/ast-decoder.cc
|
| index 4e19d0f6b6a1894851890ffb5bedbac1790f9c99..d867cc843eef15ff6797c01d7e4f0383f274d261 100644
|
| --- a/src/wasm/ast-decoder.cc
|
| +++ b/src/wasm/ast-decoder.cc
|
| @@ -317,6 +317,11 @@ class WasmDecoder : public Decoder {
|
| ImmI64Operand operand(this, pc);
|
| return 1 + operand.length;
|
| }
|
| + case kExprGrowMemory:
|
| + case kExprMemorySize: {
|
| + MemoryIndexOperand operand(this, pc);
|
| + return 1 + operand.length;
|
| + }
|
| case kExprI8Const:
|
| return 2;
|
| case kExprF32Const:
|
| @@ -1101,17 +1106,23 @@ class WasmFullDecoder : public WasmDecoder {
|
| case kExprF64StoreMem:
|
| len = DecodeStoreMem(kAstF64, MachineType::Float64());
|
| break;
|
| - case kExprGrowMemory:
|
| + case kExprGrowMemory: {
|
| + MemoryIndexOperand operand(this, pc_);
|
| if (module_->origin != kAsmJsOrigin) {
|
| Value val = Pop(0, kAstI32);
|
| Push(kAstI32, BUILD(GrowMemory, val.node));
|
| } else {
|
| error("grow_memory is not supported for asmjs modules");
|
| }
|
| + len = 1 + operand.length;
|
| break;
|
| - case kExprMemorySize:
|
| + }
|
| + case kExprMemorySize: {
|
| + MemoryIndexOperand operand(this, pc_);
|
| Push(kAstI32, BUILD(CurrentMemoryPages));
|
| + len = 1 + operand.length;
|
| break;
|
| + }
|
| case kExprCallFunction: {
|
| CallFunctionOperand operand(this, pc_);
|
| if (Validate(pc_, operand)) {
|
|
|