From b2713b5bbc6b018f48c8f4954568c5e8dbc0a20e Mon Sep 17 00:00:00 2001 From: Shem Sedrick Date: Tue, 21 May 2024 13:03:49 -0500 Subject: [PATCH] Debugging issue with mem_grow call missing --- build.zig | 2 +- src/vm_stack.zig | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/build.zig b/build.zig index bac76db..9fcd83f 100644 --- a/build.zig +++ b/build.zig @@ -98,7 +98,7 @@ pub fn build(b: *Build) void { compile_memtest.addArg("-Wl,--export-dynamic"); compile_memtest.addArg("-o"); compile_memtest.addArg("test/mem64/memtest.wasm"); - compile_memtest.addFileArg(.{ .path = "test/mem64/memtest.c" }); + compile_memtest.addFileArg(b.path("test/mem64/memtest.c")); compile_memtest.has_side_effects = true; b.getInstallStep().dependOn(&compile_memtest.step); diff --git a/src/vm_stack.zig b/src/vm_stack.zig index 9c957d8..154cea6 100644 --- a/src/vm_stack.zig +++ b/src/vm_stack.zig @@ -854,6 +854,7 @@ const InstructionFuncs = struct { }; fn run(pc: u32, code: [*]const Instruction, stack: *Stack) anyerror!void { + std.debug.print("Running code {any}\n", .{code[pc]}); try @call(.always_tail, InstructionFuncs.lookup(code[pc].opcode), .{ pc, code, stack }); } @@ -2101,6 +2102,8 @@ const InstructionFuncs = struct { else => unreachable, }; + std.debug.print("Growing from {} to {}", .{ old_num_pages, num_pages }); + if (num_pages >= 0 and memory_instance.grow(@as(usize, @intCast(num_pages)))) { stack.pushI32(old_num_pages); try @call(.always_tail, InstructionFuncs.lookup(code[pc + 1].opcode), .{ pc + 1, code, stack });