refactor: module loading in EsIsolate (#3615)

* refactored RecursiveLoad - it was renamed to RecursiveModuleLoad, it does not take ownership of isolate anymore - a struct implementing Stream that yields SourceCodeInfo

* untangled module loading logic between RecursiveLoad and isolate - that logic is encapsulated in EsIsolate and RecursiveModuleLoad, where isolate just consumes modules as they become available - does not require to pass Arc<Mutex<Isolate>> around anymore

* removed EsIsolate.mods_ in favor of Modules and moved them inside EsIsolate

* EsIsolate now requires "loader" argument during construction - struct that implements Loader trait

* rewrite first methods on isolate as async
This commit is contained in:
Bartek Iwańczuk 2020-01-08 15:06:04 +01:00 committed by GitHub
parent 8466460311
commit cbdf9c5009
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 693 additions and 888 deletions

View file

@ -28,7 +28,7 @@ pub fn get_asset(name: &str) -> Option<&'static str> {
#[test]
fn cli_snapshot() {
let mut isolate = deno_core::EsIsolate::new(
let mut isolate = deno_core::Isolate::new(
deno_core::StartupData::Snapshot(CLI_SNAPSHOT),
false,
);
@ -45,7 +45,7 @@ fn cli_snapshot() {
#[test]
fn compiler_snapshot() {
let mut isolate = deno_core::EsIsolate::new(
let mut isolate = deno_core::Isolate::new(
deno_core::StartupData::Snapshot(COMPILER_SNAPSHOT),
false,
);