summaryrefslogtreecommitdiff
path: root/runtime/worker.rs
diff options
context:
space:
mode:
authorBartek IwaƄczuk <biwanczuk@gmail.com>2023-02-20 21:45:34 +0100
committerGitHub <noreply@github.com>2023-02-20 21:45:34 +0100
commit914b08fc19e5c7268e7b04a216337e765d6a06e8 (patch)
tree39f73f4e046346f358d74ff10f62cb2d5f7078a8 /runtime/worker.rs
parent4d1a14ca7fa9496f36470a7771448a9b006b0204 (diff)
build: add "include_js_files_for_snapshotting" Cargo feature (#17826)
This allows to not include source code into the binary (because it will already be included in the V8 snapshot). Nothing changes for the embedders - everything should still build the same. This commit brings the binary size from 87Mb to 82Mb on M1. Alternative to https://github.com/denoland/deno/pull/17820 and https://github.com/denoland/deno/pull/17653 --------- Co-authored-by: Leo Kettmeir <crowlkats@toaxl.com>
Diffstat (limited to 'runtime/worker.rs')
-rw-r--r--runtime/worker.rs15
1 files changed, 9 insertions, 6 deletions
diff --git a/runtime/worker.rs b/runtime/worker.rs
index 141b5a650..d1998cd88 100644
--- a/runtime/worker.rs
+++ b/runtime/worker.rs
@@ -35,7 +35,6 @@ use deno_web::BlobStore;
use log::debug;
use crate::inspector_server::InspectorServer;
-use crate::js;
use crate::ops;
use crate::ops::io::Stdio;
use crate::permissions::PermissionsContainer;
@@ -282,13 +281,17 @@ impl MainWorker {
];
extensions.extend(std::mem::take(&mut options.extensions));
+ #[cfg(not(feature = "dont_create_runtime_snapshot"))]
+ let startup_snapshot = options
+ .startup_snapshot
+ .unwrap_or_else(crate::js::deno_isolate_init);
+ #[cfg(feature = "dont_create_runtime_snapshot")]
+ let startup_snapshot = options.startup_snapshot
+ .expect("deno_runtime startup snapshot is not available with 'create_runtime_snapshot' Cargo feature.");
+
let mut js_runtime = JsRuntime::new(RuntimeOptions {
module_loader: Some(options.module_loader.clone()),
- startup_snapshot: Some(
- options
- .startup_snapshot
- .unwrap_or_else(js::deno_isolate_init),
- ),
+ startup_snapshot: Some(startup_snapshot),
source_map_getter: options.source_map_getter,
get_error_class_fn: options.get_error_class_fn,
shared_array_buffer_store: options.shared_array_buffer_store.clone(),