refactor(core): simplify Deno.core initialisation, remove stale TODO (#8847)

This commit rewrites initialisation of the "shared queue" and
in effect prevents from double execution of "core/core.js" and
"core/error.js".

Previously both of these files were executed every time a "JsRuntime"
was created. That lead to a situation where one copy of each script
was included in the snapshot and then another copy would be
executed after loading the snapshot.

Effectively "JsRuntime::shared_init" was removed; instead execution
of those scripts and actual initialisation of shared queue
was split into two helper functions: "JsRuntime::js_init" and
"JsRuntime::share_queue_init".

Additionally stale TODO comments were removed.
This commit is contained in:
Bartek Iwańczuk 2021-01-05 22:10:50 +01:00 committed by GitHub
parent 0d41e21b0e
commit 46c0cab763
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 41 additions and 46 deletions

View file

@ -597,7 +597,6 @@ delete Object.prototype.__proto__;
hasStarted = true;
languageService = ts.createLanguageService(host);
core.ops();
core.registerErrorClass("Error", Error);
setLogDebug(debugFlag, "TSLS");
debug("serverInit()");
}
@ -613,7 +612,6 @@ delete Object.prototype.__proto__;
}
hasStarted = true;
core.ops();
core.registerErrorClass("Error", Error);
setLogDebug(!!debugFlag, "TS");
}