From f7fdb90fd51e340ea598c055bb3573d3cdfbdaa8 Mon Sep 17 00:00:00 2001 From: Ryan Dahl Date: Mon, 8 Apr 2019 10:12:43 -0400 Subject: 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. --- cli/compiler.rs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'cli/compiler.rs') 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 { - Some(startup_data::compiler_isolate_init()) - } - fn dispatch( &mut self, control: &[u8], @@ -148,6 +143,7 @@ fn lazy_start(parent_state: Arc) -> 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(), -- cgit v1.2.3