diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/wasm-interpreter.h | 3 | ||||
-rw-r--r-- | src/wasm.h | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/src/wasm-interpreter.h b/src/wasm-interpreter.h index 59e42783d..2a841f6fd 100644 --- a/src/wasm-interpreter.h +++ b/src/wasm-interpreter.h @@ -579,6 +579,7 @@ private: case GrowMemory: { Flow flow = visit(curr->operands[0]); if (flow.breaking()) return flow; + int32_t ret = instance.memorySize; uint32_t delta = flow.value.geti32(); if (delta % pageSize != 0) trap("growMemory: delta not multiple"); if (delta > uint32_t(-1) - pageSize) trap("growMemory: delta relatively too big"); @@ -587,7 +588,7 @@ private: if (newSize > instance.wasm.memory.max) trap("growMemory: exceeds max"); instance.externalInterface->growMemory(instance.memorySize, newSize); instance.memorySize = newSize; - return Literal(); + return Literal(ret); } case HasFeature: { IString id = curr->nameOperand; diff --git a/src/wasm.h b/src/wasm.h index 4c8dca331..ec2cd469e 100644 --- a/src/wasm.h +++ b/src/wasm.h @@ -1017,7 +1017,7 @@ public: break; } case GrowMemory: { - type = none; + type = i32; break; } default: abort(); |