diff options
author | Ryan Dahl <ry@tinyclouds.org> | 2019-04-08 10:12:43 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-08 10:12:43 -0400 |
commit | f7fdb90fd51e340ea598c055bb3573d3cdfbdaa8 (patch) | |
tree | 40db117b3a9fd2ac70e3b5551195e21eef464138 /cli/compiler.rs | |
parent | cdb72afd8d91978573f0fa897844aee853983b44 (diff) |
core: snapshot improvements (#2052)
* Moves how snapshots are supplied to the Isolate. Previously they were
given by Behavior::startup_data() but it was only called once at
startup. It makes more sense (and simplifies Behavior) to pass it to the
constructor of Isolate.
* Adds new libdeno type deno_snapshot instead of overloading
deno_buf.
* Adds new libdeno method to delete snapshot deno_snapshot_delete().
* Renames deno_get_snapshot() to deno_snapshot_new().
* Makes StartupData hold references to snapshots. This was implicit when
it previously held a deno_buf but is made explicit now. Note that
include_bytes!() returns a &'static [u8] and we want to avoid
copying that.
Diffstat (limited to 'cli/compiler.rs')
-rw-r--r-- | cli/compiler.rs | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/cli/compiler.rs b/cli/compiler.rs index 3bf230bc3..e4d76c44c 100644 --- a/cli/compiler.rs +++ b/cli/compiler.rs @@ -17,7 +17,6 @@ use deno::Behavior; use deno::Buf; use deno::JSError; use deno::Op; -use deno::StartupData; use futures::future::*; use futures::sync::oneshot; use futures::Future; @@ -70,10 +69,6 @@ impl IsolateStateContainer for &CompilerBehavior { } impl Behavior for CompilerBehavior { - fn startup_data(&mut self) -> Option<StartupData> { - Some(startup_data::compiler_isolate_init()) - } - fn dispatch( &mut self, control: &[u8], @@ -148,6 +143,7 @@ fn lazy_start(parent_state: Arc<IsolateState>) -> ResourceId { cell .get_or_insert_with(|| { let worker_result = workers::spawn( + startup_data::compiler_isolate_init(), CompilerBehavior::new( parent_state.flags.clone(), parent_state.argv.clone(), |