aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-07-04 01:25:41 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-07-04 01:25:41 -0700
commit344998a8735ce690b46aa17dfc8dc1ffabd846fb (patch)
tree22ce6ea081f19db61f7fcad2d1d7ee63e313bbc0
parent6f7af725ff224397a19048cca5839757335342b6 (diff)
downloadbun-344998a8735ce690b46aa17dfc8dc1ffabd846fb.tar.gz
bun-344998a8735ce690b46aa17dfc8dc1ffabd846fb.tar.zst
bun-344998a8735ce690b46aa17dfc8dc1ffabd846fb.zip
Fix `WebAssembly.instantiate`
-rw-r--r--src/bun.js/event_loop.zig8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/bun.js/event_loop.zig b/src/bun.js/event_loop.zig
index 95bf5456c..df6af2748 100644
--- a/src/bun.js/event_loop.zig
+++ b/src/bun.js/event_loop.zig
@@ -422,7 +422,13 @@ pub const EventLoop = struct {
if (this.tickWithCount() == 0) break;
}
- this.global.vm().releaseWeakRefs();
+ // This is JSC's event loop
+ // We don't actually use this.
+ // However, there are three uses of it in JavaScriptCore outside our control:
+ // 1. FinalizationRegistry callbacks
+ // 2. WebAssembly.instantiate
+ // 3. WebAssembly.instantiateStreaming
+ this.global.vm().doWork();
if (!ctx.disable_run_us_loop and ctx.us_loop_reference_count > 0 and !ctx.is_us_loop_entered) {
ctx.is_us_loop_entered = true;