From ba5d272ae111b3da765c842bfd100013833c1eac Mon Sep 17 00:00:00 2001 From: Alexander Akait <4567934+alexander-akait@users.noreply.github.com> Date: Thu, 20 Oct 2022 05:54:22 +0300 Subject: [PATCH] perf(html/parser): Improve performance a bit (#6213) --- crates/swc_html_parser/src/lexer/mod.rs | 6 +----- .../src/parser/active_formatting_element_stack.rs | 10 +++------- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/crates/swc_html_parser/src/lexer/mod.rs b/crates/swc_html_parser/src/lexer/mod.rs index 5792fc6c831f..e8049b46458f 100644 --- a/crates/swc_html_parser/src/lexer/mod.rs +++ b/crates/swc_html_parser/src/lexer/mod.rs @@ -4146,11 +4146,7 @@ where && !is_last_semicolon && is_next_equals_sign_or_ascii_alphanumeric { - let old_temporary_buffer = self.temporary_buffer.clone(); - - self.flush_code_points_consumed_as_character_reference(Some( - old_temporary_buffer, - )); + self.flush_code_points_consumed_as_character_reference(None); self.state = self.return_state.clone(); } // Otherwise: diff --git a/crates/swc_html_parser/src/parser/active_formatting_element_stack.rs b/crates/swc_html_parser/src/parser/active_formatting_element_stack.rs index f51529a422d4..8383b7b336d3 100644 --- a/crates/swc_html_parser/src/parser/active_formatting_element_stack.rs +++ b/crates/swc_html_parser/src/parser/active_formatting_element_stack.rs @@ -54,22 +54,18 @@ impl ActiveFormattingElementStack { continue; } - (node.clone(), token_and_info.clone()) + (node.clone(), token_and_info) } }; let attributes_in_element = match &token_and_info_in_element.token { - Token::StartTag { attributes, .. } | Token::EndTag { attributes, .. } => { - attributes.clone() - } + Token::StartTag { attributes, .. } | Token::EndTag { attributes, .. } => attributes, _ => { unreachable!() } }; let attributes_in_new_element = match &new_element.1.token { - Token::StartTag { attributes, .. } | Token::EndTag { attributes, .. } => { - attributes.clone() - } + Token::StartTag { attributes, .. } | Token::EndTag { attributes, .. } => attributes, _ => { unreachable!() }