Skip to content

Commit eedf243

Browse files
authored
perf(compile): pass module source data from binary directly to v8 (#26494)
This changes denort to pass a static reference of the moude source bytes found in the binary to v8 instead of copying it.
1 parent ea64189 commit eedf243

File tree

14 files changed

+1149
-482
lines changed

14 files changed

+1149
-482
lines changed

Cargo.lock

+1-34
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

cli/Cargo.toml

-1
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@ deno_runtime = { workspace = true, features = ["include_js_files_for_snapshottin
8484
deno_semver.workspace = true
8585
deno_task_shell = "=0.18.1"
8686
deno_terminal.workspace = true
87-
eszip = "=0.79.1"
8887
libsui = "0.4.0"
8988
node_resolver.workspace = true
9089

cli/emit.rs

+1
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ impl Emitter {
6060
continue;
6161
};
6262

63+
// todo(https://github.com/denoland/deno_media_type/pull/12): use is_emittable()
6364
let is_emittable = matches!(
6465
module.media_type,
6566
MediaType::TypeScript

cli/factory.rs

+1
Original file line numberDiff line numberDiff line change
@@ -762,6 +762,7 @@ impl CliFactory {
762762
let cli_options = self.cli_options()?;
763763
Ok(DenoCompileBinaryWriter::new(
764764
self.deno_dir()?,
765+
self.emitter()?,
765766
self.file_fetcher()?,
766767
self.http_client_provider(),
767768
self.npm_resolver().await?.as_ref(),

cli/mainrt.rs

+4-5
Original file line numberDiff line numberDiff line change
@@ -88,11 +88,10 @@ fn main() {
8888
let standalone = standalone::extract_standalone(Cow::Owned(args));
8989
let future = async move {
9090
match standalone {
91-
Ok(Some(future)) => {
92-
let (metadata, eszip) = future.await?;
93-
util::logger::init(metadata.log_level);
94-
load_env_vars(&metadata.env_vars_from_env_file);
95-
let exit_code = standalone::run(eszip, metadata).await?;
91+
Ok(Some(data)) => {
92+
util::logger::init(data.metadata.log_level);
93+
load_env_vars(&data.metadata.env_vars_from_env_file);
94+
let exit_code = standalone::run(data).await?;
9695
std::process::exit(exit_code);
9796
}
9897
Ok(None) => Ok(()),

0 commit comments

Comments
 (0)