summaryrefslogtreecommitdiff
path: root/cli/compiler.rs
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2019-04-08 10:12:43 -0400
committerGitHub <noreply@github.com>2019-04-08 10:12:43 -0400
commitf7fdb90fd51e340ea598c055bb3573d3cdfbdaa8 (patch)
tree40db117b3a9fd2ac70e3b5551195e21eef464138 /cli/compiler.rs
parentcdb72afd8d91978573f0fa897844aee853983b44 (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.rs6
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(),