From 8ac804342e7d1e72fa1bf6ecdaf8ab12e28c1c6b Mon Sep 17 00:00:00 2001 From: Benjamin Eckel Date: Fri, 13 Oct 2023 11:01:02 -0500 Subject: [PATCH] Memory.grow returns previous pages, not current --- .../src/main/java/com/dylibso/chicory/runtime/Memory.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/runtime/src/main/java/com/dylibso/chicory/runtime/Memory.java b/runtime/src/main/java/com/dylibso/chicory/runtime/Memory.java index 8aec14a50..b65d34270 100644 --- a/runtime/src/main/java/com/dylibso/chicory/runtime/Memory.java +++ b/runtime/src/main/java/com/dylibso/chicory/runtime/Memory.java @@ -40,7 +40,8 @@ public int getSize() { } public int grow(int size) { - int numPages = this.nPages + size; + var prevPages = nPages; + var numPages = nPages + size; // TODO if max is null then we just let it grow as much as it wants? if (limits.getMaximum() != null && numPages >= limits.getMaximum()) throw new RuntimeException("Program exceeded max pages: " + limits.getMaximum()); @@ -52,7 +53,7 @@ public int grow(int size) { result.position(position); buffer = result; nPages = numPages; - return nPages; + return prevPages; } public int getInitialSize() {