From 464ac85a1bd8be4e0a00a7058add8314799d165e Mon Sep 17 00:00:00 2001 From: Ali Mohammad Pur Date: Thu, 3 Nov 2022 02:04:22 +0330 Subject: [PATCH] LibRegex: Avoid copying MatchInput when getting argument descriptions --- Userland/Libraries/LibRegex/RegexByteCode.cpp | 4 ++-- Userland/Libraries/LibRegex/RegexByteCode.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Userland/Libraries/LibRegex/RegexByteCode.cpp b/Userland/Libraries/LibRegex/RegexByteCode.cpp index e94ec356da..8122e11164 100644 --- a/Userland/Libraries/LibRegex/RegexByteCode.cpp +++ b/Userland/Libraries/LibRegex/RegexByteCode.cpp @@ -927,12 +927,12 @@ Vector OpCode_Compare::flat_compares() const return result; } -Vector OpCode_Compare::variable_arguments_to_string(Optional input) const +Vector OpCode_Compare::variable_arguments_to_string(Optional input) const { Vector result; size_t offset { state().instruction_position + 3 }; - RegexStringView view = ((input.has_value()) ? input.value().view : StringView {}); + RegexStringView const& view = ((input.has_value()) ? input.value().view : StringView {}); for (size_t i = 0; i < arguments_count(); ++i) { auto compare_type = (CharacterCompareType)m_bytecode->at(offset++); diff --git a/Userland/Libraries/LibRegex/RegexByteCode.h b/Userland/Libraries/LibRegex/RegexByteCode.h index 2c4ab3aa8a..b3e6231139 100644 --- a/Userland/Libraries/LibRegex/RegexByteCode.h +++ b/Userland/Libraries/LibRegex/RegexByteCode.h @@ -746,7 +746,7 @@ public: ALWAYS_INLINE size_t arguments_count() const { return argument(0); } ALWAYS_INLINE size_t arguments_size() const { return argument(1); } String arguments_string() const override; - Vector variable_arguments_to_string(Optional input = {}) const; + Vector variable_arguments_to_string(Optional input = {}) const; Vector flat_compares() const; static bool matches_character_class(CharClass, u32, bool insensitive);