diff --git a/src/browser/browser.zig b/src/browser/browser.zig index 452d3ed2..d3fd8d53 100644 --- a/src/browser/browser.zig +++ b/src/browser/browser.zig @@ -19,6 +19,14 @@ pub const Browser = struct { allocator: std.mem.Allocator, session: Session = undefined, + var vm: jsruntime.VM = undefined; + pub fn initVM() void { + vm = jsruntime.VM.init(); + } + pub fn deinitVM() void { + vm.deinit(); + } + pub fn init(allocator: std.mem.Allocator) Browser { var b = Browser{ .allocator = allocator }; b.session = try b.createSession(null); diff --git a/src/main_get.zig b/src/main_get.zig index d4700773..9854af1a 100644 --- a/src/main_get.zig +++ b/src/main_get.zig @@ -1,5 +1,5 @@ const std = @import("std"); -const b = @import("browser/browser.zig"); +const Browser = @import("browser/browser.zig").Browser; pub const std_options = struct { pub const log_level = .debug; @@ -47,7 +47,10 @@ pub fn main() !void { std.os.exit(1); } - var browser = b.Browser.init(allocator); + Browser.initVM(); + defer Browser.deinitVM(); + + var browser = Browser.init(allocator); defer browser.deinit(); var page = try browser.currentSession().createPage();