From 83bece56b01f6997cb71e9289a4d83a398cde0c8 Mon Sep 17 00:00:00 2001 From: Aaron O'Mullan Date: Sun, 25 Apr 2021 22:00:05 +0200 Subject: refactor(core): move op cache sync responsibility to rust space (#10340) Even if bootstrapping the JS runtime is low level, it's an abstraction leak of core to require users to call `Deno.core.ops()` in JS space. So instead we're introducing a `JsRuntime::sync_ops_cache()` method, once we have runtime extensions a new runtime will ensure the ops cache is setup (for the provided extensions) and then loading/unloading plugins should be the only operations that require op cache syncs --- runtime/js/99_main.js | 2 -- runtime/web_worker.rs | 1 + runtime/worker.rs | 1 + 3 files changed, 2 insertions(+), 2 deletions(-) (limited to 'runtime') diff --git a/runtime/js/99_main.js b/runtime/js/99_main.js index 851d798c3..d2626a07d 100644 --- a/runtime/js/99_main.js +++ b/runtime/js/99_main.js @@ -142,8 +142,6 @@ delete Object.prototype.__proto__; } function runtimeStart(runtimeOptions, source) { - core.ops(); - core.setMacrotaskCallback(timers.handleTimerMacrotask); version.setVersions( runtimeOptions.denoVersion, diff --git a/runtime/web_worker.rs b/runtime/web_worker.rs index cdc3d7e3d..f6f88f59b 100644 --- a/runtime/web_worker.rs +++ b/runtime/web_worker.rs @@ -284,6 +284,7 @@ impl WebWorker { t.add(stream); } } + js_runtime.sync_ops_cache(); worker } diff --git a/runtime/worker.rs b/runtime/worker.rs index 6de87f52e..6dbf8e7ec 100644 --- a/runtime/worker.rs +++ b/runtime/worker.rs @@ -171,6 +171,7 @@ impl MainWorker { t.add(stream); } } + js_runtime.sync_ops_cache(); worker } -- cgit v1.2.3