From 3121d8ce04d265032e1d7753b97a0cf17f8725c3 Mon Sep 17 00:00:00 2001 From: Alon Zakai Date: Tue, 23 Feb 2016 13:55:55 -0800 Subject: grow memory returns a value now, and we can update the spec tests after doing that --- src/wasm-interpreter.h | 3 ++- src/wasm.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'src') 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(); -- cgit v1.2.3