diff options
author | luccie-cmd <luccie@sideros.org> | 2025-03-28 20:04:51 +0100 |
---|---|---|
committer | luccie-cmd <luccie@sideros.org> | 2025-03-28 20:04:51 +0100 |
commit | bffe814150766ba950717b47e2359ca354e33e04 (patch) | |
tree | 86c3e904b275b377552b44a892bed2a3b148989d /src | |
parent | 3bd394d6bcc5d2b3f622d4e1460a4c4f15d3a8de (diff) |
Added new main file
Diffstat (limited to 'src')
-rw-r--r-- | src/main.zig | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/src/main.zig b/src/main.zig index 1584b1e..1185e7e 100644 --- a/src/main.zig +++ b/src/main.zig @@ -15,26 +15,28 @@ pub fn main() !void { const allocator = gpa.allocator(); defer if (gpa.deinit() != .ok) @panic("Leaked memory"); - //var global_runtime = mods.GlobalRuntime.init(allocator); - //defer global_runtime.deinit(); - //try global_runtime.addFunction("debug", mods.Wasm.debug); + var global_runtime = mods.GlobalRuntime.init(allocator); + defer global_runtime.deinit(); + try global_runtime.addFunction("debug", mods.Wasm.debug); - //const file = try std.fs.cwd().openFile("assets/core.wasm", .{}); - //const all = try file.readToEndAlloc(allocator, 1_000_000); // 1 MB - //var parser = mods.Parser{ - // .bytes = all, - // .byte_idx = 0, - // .allocator = allocator, - //}; - //const module = parser.parseModule() catch |err| { - // std.debug.print("[ERROR]: error at byte {x}(0x{x})\n", .{ parser.byte_idx, parser.bytes[parser.byte_idx] }); - // return err; - //}; - //var runtime = try mods.Runtime.init(allocator, module, &global_runtime); - //defer runtime.deinit(allocator); + const file = try std.fs.cwd().openFile("assets/core.wasm", .{}); + const all = try file.readToEndAlloc(allocator, 1_000_000); // 1 MB + var parser = mods.Parser{ + .bytes = all, + .byte_idx = 0, + .allocator = allocator, + }; + const module = parser.parseModule() catch |err| { + std.debug.print("[ERROR]: error at byte {x}(0x{x})\n", .{ parser.byte_idx, parser.bytes[parser.byte_idx] }); + return err; + }; + var runtime = try mods.Runtime.init(allocator, module, &global_runtime); + defer runtime.deinit(allocator); - //var parameters = [_]usize{17}; - //try runtime.callExternal(allocator, "preinit", ¶meters); + var parameters = [_]usize{17}; + try runtime.callExternal(allocator, "preinit", ¶meters); + const result = runtime.stack.pop().?; + std.debug.print("Result of preinit: {any}\n", .{result}); var w = try Renderer.Window.create(800, 600, "sideros"); defer w.destroy(); |