aboutsummaryrefslogtreecommitdiff
path: root/src/javascript/jsc/javascript.zig
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-03-20 04:38:04 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-03-20 04:38:04 -0700
commitbc85dd2330763189e7f28941cc6e35903d6b49a9 (patch)
treef9ba5b865615c1f4a4032d28aea47e7b6fda4a7b /src/javascript/jsc/javascript.zig
parenta6b128590d104aa38a12ff20d820d02f0b6a8e6c (diff)
downloadbun-bc85dd2330763189e7f28941cc6e35903d6b49a9.tar.gz
bun-bc85dd2330763189e7f28941cc6e35903d6b49a9.tar.zst
bun-bc85dd2330763189e7f28941cc6e35903d6b49a9.zip
the events, they loop
Diffstat (limited to 'src/javascript/jsc/javascript.zig')
-rw-r--r--src/javascript/jsc/javascript.zig6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/javascript/jsc/javascript.zig b/src/javascript/jsc/javascript.zig
index 7bd8e0244..4a8fefd3c 100644
--- a/src/javascript/jsc/javascript.zig
+++ b/src/javascript/jsc/javascript.zig
@@ -422,6 +422,7 @@ pub const SavedSourceMap = struct {
return SourceMap.Mapping.find(mappings, line, column);
}
};
+const uws = @import("uws");
// If you read JavascriptCore/API/JSVirtualMachine.mm - https://github.com/WebKit/WebKit/blob/acff93fb303baa670c055cb24c2bad08691a01a0/Source/JavaScriptCore/API/JSVirtualMachine.mm#L101
// We can see that it's sort of like std.mem.Allocator but for JSGlobalContextRef, to support Automatic Reference Counting
@@ -450,6 +451,7 @@ pub const VirtualMachine = struct {
node_fs: ?*Node.NodeFS = null,
has_loaded_node_modules: bool = false,
timer: Bun.Timer = Bun.Timer{},
+ uws_event_loop: ?*uws.Loop = null,
arena: *Arena = undefined,
has_loaded: bool = false,
@@ -596,6 +598,9 @@ pub const VirtualMachine = struct {
this.concurrent_lock.lock();
defer this.concurrent_lock.unlock();
this.concurrent_tasks.writeItem(task) catch unreachable;
+ if (this.virtual_machine.uws_event_loop) |loop| {
+ loop.nextTick(*EventLoop, this, EventLoop.tick);
+ }
_ = this.ready_tasks_count.fetchAdd(1, .Monotonic);
}
};
@@ -728,7 +733,6 @@ pub const VirtualMachine = struct {
.origin_timer = std.time.Timer.start() catch @panic("Please don't mess with timers."),
.ref_strings = JSC.RefString.Map.init(allocator),
};
-
VirtualMachine.vm.regular_event_loop.tasks = EventLoop.Queue.init(
default_allocator,
);