From 058065ce755f648768dcfa05273c78431829be3e Mon Sep 17 00:00:00 2001 From: Damian Tarnawski Date: Sun, 22 Oct 2023 18:54:52 +0200 Subject: [PATCH] Correct loadI64 and storeI64 methods in runtime.js --- vendor/wasm/js/runtime.js | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/vendor/wasm/js/runtime.js b/vendor/wasm/js/runtime.js index 77344bea8..d5ab383f0 100644 --- a/vendor/wasm/js/runtime.js +++ b/vendor/wasm/js/runtime.js @@ -63,9 +63,8 @@ class WasmMemoryInterface { return lo + hi*4294967296; }; loadI64(addr) { - // TODO(bill): loadI64 correctly const lo = this.mem.getUint32(addr + 0, true); - const hi = this.mem.getUint32(addr + 4, true); + const hi = this.mem.getInt32 (addr + 4, true); return lo + hi*4294967296; }; loadF32(addr) { return this.mem.getFloat32(addr, true); } @@ -95,9 +94,8 @@ class WasmMemoryInterface { this.mem.setUint32(addr + 4, Math.floor(value / 4294967296), true); } storeI64(addr, value) { - // TODO(bill): storeI64 correctly this.mem.setUint32(addr + 0, value, true); - this.mem.setUint32(addr + 4, Math.floor(value / 4294967296), true); + this.mem.setInt32 (addr + 4, Math.floor(value / 4294967296), true); } storeF32(addr, value) { this.mem.setFloat32(addr, value, true); } storeF64(addr, value) { this.mem.setFloat64(addr, value, true); }