diff options
author | Bartek IwaĆczuk <biwanczuk@gmail.com> | 2020-09-11 15:18:49 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-11 15:18:49 +0200 |
commit | 0d1f626edd7c574ff0e70438cdb678dcb5c91170 (patch) | |
tree | 8d80e4f32ba9535da4c387234b795385ee2f6492 /cli/js.rs | |
parent | 7c2e7c660804afca823d60e6496aa853f75db16c (diff) |
refactor(core): JsRuntime initialization (#7415)
Removes:
- "deno_core::StartupData"
- "deno_core::Script"
- "deno_core::OwnedScript"
Changes to "JsRuntime":
- remove "new_with_loader()"
- remove "with_heap_limits()"
- rename "IsolateOptions" to "RuntimeOptions" and make public
- "JsRuntime::new()" takes "RuntimeOptions" as a single param
Diffstat (limited to 'cli/js.rs')
-rw-r--r-- | cli/js.rs | 34 |
1 files changed, 24 insertions, 10 deletions
@@ -1,3 +1,7 @@ +// Copyright 2018-2020 the Deno authors. All rights reserved. MIT license. + +use deno_core::Snapshot; + pub const TS_VERSION: &str = env!("TS_VERSION"); pub static CLI_SNAPSHOT: &[u8] = @@ -11,12 +15,24 @@ pub static SHARED_GLOBALS_LIB: &str = pub static WINDOW_LIB: &str = include_str!("dts/lib.deno.window.d.ts"); pub static UNSTABLE_NS_LIB: &str = include_str!("dts/lib.deno.unstable.d.ts"); +pub fn deno_isolate_init() -> Snapshot { + debug!("Deno isolate init with snapshots."); + let data = CLI_SNAPSHOT; + Snapshot::Static(data) +} + +pub fn compiler_isolate_init() -> Snapshot { + debug!("Deno compiler isolate init with snapshots."); + let data = COMPILER_SNAPSHOT; + Snapshot::Static(data) +} + #[test] fn cli_snapshot() { - let mut isolate = deno_core::JsRuntime::new( - deno_core::StartupData::Snapshot(deno_core::Snapshot::Static(CLI_SNAPSHOT)), - false, - ); + let mut isolate = deno_core::JsRuntime::new(deno_core::RuntimeOptions { + startup_snapshot: Some(deno_isolate_init()), + ..Default::default() + }); deno_core::js_check(isolate.execute( "<anon>", r#" @@ -30,12 +46,10 @@ fn cli_snapshot() { #[test] fn compiler_snapshot() { - let mut isolate = deno_core::JsRuntime::new( - deno_core::StartupData::Snapshot(deno_core::Snapshot::Static( - COMPILER_SNAPSHOT, - )), - false, - ); + let mut isolate = deno_core::JsRuntime::new(deno_core::RuntimeOptions { + startup_snapshot: Some(compiler_isolate_init()), + ..Default::default() + }); deno_core::js_check(isolate.execute( "<anon>", r#" |