From e277490c821d20280137ca54eede8502caf62bbd Mon Sep 17 00:00:00 2001 From: David Sherret Date: Sun, 14 Apr 2024 17:15:17 -0400 Subject: perf: do not clone swc `Program` when transpiling (#23365) --- runtime/shared.rs | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) (limited to 'runtime/shared.rs') diff --git a/runtime/shared.rs b/runtime/shared.rs index c5ea2fedd..e18b0b93c 100644 --- a/runtime/shared.rs +++ b/runtime/shared.rs @@ -95,20 +95,22 @@ pub fn maybe_transpile_source( scope_analysis: false, maybe_syntax: None, })?; - let transpiled_source = parsed.transpile( - &deno_ast::TranspileOptions { - imports_not_used_as_values: deno_ast::ImportsNotUsedAsValues::Remove, - ..Default::default() - }, - &deno_ast::EmitOptions { - source_map: if cfg!(debug_assertions) { - SourceMapOption::Separate - } else { - SourceMapOption::None + let transpiled_source = parsed + .transpile_owned( + &deno_ast::TranspileOptions { + imports_not_used_as_values: deno_ast::ImportsNotUsedAsValues::Remove, + ..Default::default() }, - ..Default::default() - }, - )?; + &deno_ast::EmitOptions { + source_map: if cfg!(debug_assertions) { + SourceMapOption::Separate + } else { + SourceMapOption::None + }, + ..Default::default() + }, + ) + .unwrap()?; let maybe_source_map: Option = transpiled_source .source_map -- cgit v1.2.3